熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

操作系統課程第三章-進程和線程的描述與控制[7]

2013-11-15 15:54:10  來源: 操作系統 

  區的狀態一個區具有狀態鎖住在請求中在裝入過程中有效(區已裝入內存)

  區在物理存儲器中的位置

  引用計數共享該區的進程數

  指向文件索引節點的指針

  本進程區表

  系統為每個進程配置了一張本進程區表表中每一項記錄一個區的起始虛地址及指向系統區表中對應區表項的指針核心通過查找本進程區表和系統區表將區的邏輯地址變換為物理地址

  進程的數據結構

  進程狀態及其轉換

  在UNIX System Ⅴ中為進程設置了種狀態

  用戶態執行

  核心態執行

  內存中就緒

  內存中睡眠

  就緒且換出

  睡眠且換出

  被剝奪狀態

  創建狀態

  僵死狀態

  UNIX系統的狀態轉換圖

  進程上下文

  進程上下文又稱進程映像它由三部分組成用戶級上下文寄存器上下文和系統級上下文

  用戶級上下文

  用戶級上下文由進程虛地址空間中的正文數據用戶棧和共享存儲區組成

  寄存器上下文

  寄存器上下文主要由CPU中的一些寄存器內容構成主要的寄存器有

  程序計數器其中存放的是CPU要執行的下條指令的虛地址

  處理機狀態寄存器其中包括運行方式(用戶態核心態)處理機當前的運行級以及記錄處理機與該進程有關的硬件狀態信息

  棧指針指向棧的下一個可用單元或棧中最後使用的單元(因機器而異)

  通用寄存器用於存放進程在運行過程中所產生的數據通用寄存器的數目因機器而異

  系統級上下文

  系統級上下文可分為靜態和動態兩部分

  靜態部分系統級上下文的靜態部分由進程表項U區本進程區表項系統區表項和頁表組成

  動態部分系統級上下文動態部分的數目是可變的它包括核心棧若干層寄存器上下文

  進程控制

  在UNIX系統中用於對進程實施控制的主要系統調用有fork創建進程;exec執行文件;exit進程終止;wait等待子進程終止

  系統調用fork

  系統調用fork用於創建一個新進程

  fork系統調用的語法格式如下

  int fork( )

  fork系統調用沒有參數如果執行成功則創建一個子進程子進程繼承父進程的許多特性並具有與父進程完全相同的用戶級上下文

  fork的算法描述

[]  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/czxt/201311/24171.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.