1. 程式人生 > >作業系統處理機管理功能(2)之程序通訊及排程

作業系統處理機管理功能(2)之程序通訊及排程

1.程序通訊

當有一組相互合作的程序去完成一個共同的任務時,他們之間往往需要交換資訊。例如,有輸入程序、計算程序、列印程序三個相互合作的程序,輸入程序負責將所輸入的資料傳

送給計算程序、計算程序利用輸入資料進行計算,並把計算結果傳給列印程序;最後又列印程序把計算結果給打印出來。

程序通訊的任務是:

==實現相互合作程序之間的資訊交換==

==當相互合作的程序處於同一計算機系統時,通常他們之間採用直接通訊方式,即由原程序利用傳送命令直接將訊息(message)掛到目標程序的訊息佇列上,以後由目標程序利用

接收命令從其訊息佇列中取出訊息。==

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.排程

在傳統OS中,排程包括作業排程和程序排程兩步。

(1)作業排程。作業排程的基本任務是從後備佇列中按照一定的演算法選擇出若干個作業,為他們分配執行所需資源,在將這些作業調入記憶體後,分別為它們建立程序(一個作業可

以建立一個或多個程序)。並將它們插入就緒佇列中。

(2)程序排程。程序排程的任務是從程序的就緒佇列中按照一定的演算法選出一個程序,並將處理機分配給它,併為它設定執行現場,使其投入執行。