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

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

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

   進程的概念

  為了描述並發執行程序的動態特性人們引入了一個新的概念——進程

   進程的定義

  進程有多種定義下面列舉一些有代表性的定義

  進程是可以並發執行的計算部分

  進程是一個程序與其數據一道通過處理機的執行所發生的活動

  進程是一個數據結構及在其上進行加工處理的過程

  進程是一個可以高度獨立的活動

  進程是一個具有一定獨立功能的程序在一個數據集合上的運行過程它是系統進行資源分配和調度的一個獨立單位

  進程的特征

  動態性進程是程序的一次執行過程動態性還表現為它因創建而產生因調度而執行因無資源而暫停因撤消而消亡而程序是靜態實體

  並發性多個進程實體同時存在於內存中能在一段時間內同時運行

  獨立性在傳統OS中進程是獨立運行的基本單位也是系統分配資源和調度的基本單位

  異步性也叫制約性進程之間相互制約進程以各自獨立的不可預知的速度向前推進

  結構性進程實體由程序段數據段及進程控制塊組成又稱為進程映像

  進程與程序的聯系與區別

  進程是動態概念程序是靜態概念;進程是程序在處理機上的一次執行過程而程序是指令的集合

  進程具有並發性但程序沒有

  進程是競爭處理機和資源的基本單位

  不同進程可以包含同一個程序

  進程可以創建新進程而程序不能形成新程序

   進程的基本狀態

  運行狀態又稱執行狀態當一個進程獲得必要的資源並正在處理機上執行此時進程所處的狀態為運行狀態

  等待狀態又稱阻塞狀態睡眠狀態正在執行的進程由於發生某事件而暫時無法執行下去(如等待輸入/輸出完成)此時進程所處的狀態為的等待狀態這時即使把處理機分配給該進程它也無法運行

  就緒狀態進程已獲得除處理機以外的所有資源一旦分配了處理機就可以立即執行此時進程所處的狀態為就緒狀態

  新建狀態和終止狀態

  在許多系統中又增加了兩種狀態

  新建狀態進程剛剛建立但還未進入就緒隊列

  終止狀態當一個進程正常或異常結束操作系統已釋放它所占用的資源但尚未將它撤消時的狀態又稱退出狀態

  進程狀態轉換圖

  狀態轉換的有關說明

  大多數狀態不可逆轉如等待不能轉換為運行

  狀態轉換大多為被動進行但運行→等待是主動的

  一個進程在一個時刻只能處於上述狀態之一

   進程控制塊

  進程控制塊是用於描述和管理進程的數據結構它是進程實體的一部分操作系統通過PCB感知進程的存在PCB是進程存在的唯一標志

  進程控制塊主要包括如下內容

  進程標識信息

  處理機狀態信息

  進程調度和狀態信息

  進程控制信息

  進程標識信息

  進程標識信息用於標識一個進程包括

  進程名通常為可執行文件名

  進程標識符唯一標識進程的整數

  用戶標識符指示進程所屬的用戶

  父進程標識符和子進程標識符描述進程家族關系

  處理機狀態信息

  處理機狀態信息用於保存現場由處理機各寄存器組成包括

  通用寄存器處理機執行時可以訪問的寄存器

  指令計數器存放將要訪問的下一條指令地址

  程序狀態字含執行結果狀態中斷屏蔽碼等

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


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