計算機作業系統 程序管理(2)

2021-06-20 06:35:10 字數 1268 閱讀 2418

程序的狀態

就緒(ready)狀態:

當程序已分配到除cpu以外的所有必要資源後,只要再獲得cpu,便可立即執行,程序這時的狀態稱為就緒狀態。在乙個系統中處於就緒狀態的程序可能有多個,通常將它們排成乙個佇列,稱為就緒佇列。

執行狀態:

程序已獲得cpu,其程式正在執行。在單處理機系統中,只有乙個程序處於執行狀態;在多處理機系統中,則有多個程序處於執行狀態。

阻塞狀態:

正在執行的程序由於發生某事件而暫時無法繼續執行時,便放棄處理機而處於暫停狀態,亦即程序的執行受到阻塞,把這種暫停狀態稱為阻塞狀態,有時也稱為等待狀態或封鎖狀態。致使程序阻塞的典型事件有:請求i/o,申請緩衝空間等。通常將這種處於阻塞狀態的程序也排成乙個佇列。有的系統則根據阻塞原因的不同而把處於阻塞狀態的程序排成多個佇列。

掛起狀態【程序在外存中】:

建立狀態:

建立乙個程序一般要通過兩個步驟:首先,為乙個新程序建立pcb,並填寫必要的管理資訊;其次,把該程序轉入就緒狀態並插入就緒佇列之中。當乙個新程序被建立時,系統已為其分配了pcb,填寫了程序標識等資訊,但由於該程序所必需的資源或其它資訊,如主存資源尚未分配等,一般而言,此時的程序已擁有了自己的pcb,但程序自身還未進入主存,即建立工作尚未完成,程序還不能被排程執行,其所處的狀態就是建立狀態。

終止狀態:

程序的終止也要通過兩個步驟:首先等待作業系統進行善後處理,然後將其pcb清零,並將pcb 空間返還系統。當乙個程序到達了自然結束點,或是出現了無法克服的錯誤,或是被作業系統所終結,或是被其他有終止權的程序所終結,它將進入終止狀態。進入終止態的程序以後不能再執行,但在作業系統中依然保留乙個記錄,其中儲存狀態碼和一些計時統計資料,供其它程序收集。一旦其它程序完成了對終止狀態程序的資訊提取之後,作業系統將刪除該程序。

計算機作業系統 程序管理(7)

執行緒 程序是資源分配的基本單位,執行緒是任務排程的基本單位。引入程序是為了使多道程式有條不紊的併發執行,提高資源利用率和系統吞吐量 引入程序是為了減少程式在併發執行時所付出的時空開銷。執行緒間的同步和通訊 1 互斥鎖 共享多個資源時導致死鎖。2 互斥鎖 條件變數 解決共享乙個臨界資源時的死鎖問題。...

計算機作業系統之程序管理

程序和執行緒的聯絡和區別 定義 程序 具有一定獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的乙個獨立單位。執行緒 程序的乙個實體,是cpu排程和分派的基本單位,他是比程序更小的能獨立執行的基本單位,執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源 如程式計...

計算機與作業系統 程序

作業系統中最核心的概念是程序,程序是對正在進行的程式的抽象。因為有了程序這個概念的存在,才讓cpu有了 偽 併發操作的能力。在任何多道程式設計系統中,cpu在多個程序中不斷的切換,每個程序執行幾十至幾百毫秒。嚴格來說,在某乙個瞬間,cpu只能執行乙個程序,而在1秒內,它可能執行多個程序,這就給人了一...