進程調(diào)度是處理機調(diào)度。
1 記錄系統(tǒng)中所有進程的執(zhí)行狀態(tài)。
2 根據(jù)一定調(diào)度算法,從就緒隊列中選出一個進程來,準備把CPU分給它。
3 把CPU分給進程。
進程調(diào)度一般在下面的情況下發(fā)生的:
1 正在執(zhí)行的進程執(zhí)行完畢。
2 正在執(zhí)行的進程調(diào)用阻塞原語將自己阻塞起來進入等待狀態(tài)。
3 正在執(zhí)行的進程調(diào)用了P原語操作,從而因為資源不足而被阻塞,或調(diào)用了V原語操作擊活了等待資源的進程。
4 在分時系統(tǒng)中時間片用完。
在CPU方式是可以剝奪的時候,還有:
12 就緒隊列中的某個進程的優(yōu)先級邊的高與當前進程的優(yōu)先級,從而引起進進程調(diào)度。
進程調(diào)度算法解決以何種次序?qū)Ω骶途w進程進行處理機的分配以及按何種時間比例讓進程占用處理機。
1 先進先出算法。
2 時間片輪轉(zhuǎn)算法。
3 優(yōu)先數(shù)算法。
靜態(tài)優(yōu)先數(shù)。動態(tài)優(yōu)先數(shù)。
在多道程序系統(tǒng)中,一組進程中的每個進程均無限期的等待被該組進程中的另一個進程所占有且永遠不會釋放的資源,這種現(xiàn)象處于死鎖狀態(tài)。處于死瑣狀態(tài)的進程稱為死瑣進程。發(fā)生死瑣時,死瑣進程至少有兩個。所有死瑣進程都有等待資源,其中,至少有兩個死瑣進程占用了資源。
永久性資源和臨時性資源。
產(chǎn)生死瑣的原因是:
3 系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進程的使用。
4 多道程序設計時,進程推進次序不合理。
產(chǎn)生死瑣的4個必要條件:
1 互斥條件。
2 不可剝奪條件。
3 部分分配。
4 循環(huán)等待。
資源分配圖(注意40頁B圖有問題)
三種預防措施:
1采用靜態(tài)資源預分配,破壞“部分分配”條件。
2允許進程剝奪其他進程占用的資源,從而破壞“不可剝奪”條件。
3采用資源有序分配法,破壞“環(huán)路”條件。
1 記錄系統(tǒng)中所有進程的執(zhí)行狀態(tài)。
2 根據(jù)一定調(diào)度算法,從就緒隊列中選出一個進程來,準備把CPU分給它。
3 把CPU分給進程。
進程調(diào)度一般在下面的情況下發(fā)生的:
1 正在執(zhí)行的進程執(zhí)行完畢。
2 正在執(zhí)行的進程調(diào)用阻塞原語將自己阻塞起來進入等待狀態(tài)。
3 正在執(zhí)行的進程調(diào)用了P原語操作,從而因為資源不足而被阻塞,或調(diào)用了V原語操作擊活了等待資源的進程。
4 在分時系統(tǒng)中時間片用完。
在CPU方式是可以剝奪的時候,還有:
12 就緒隊列中的某個進程的優(yōu)先級邊的高與當前進程的優(yōu)先級,從而引起進進程調(diào)度。
進程調(diào)度算法解決以何種次序?qū)Ω骶途w進程進行處理機的分配以及按何種時間比例讓進程占用處理機。
1 先進先出算法。
2 時間片輪轉(zhuǎn)算法。
3 優(yōu)先數(shù)算法。
靜態(tài)優(yōu)先數(shù)。動態(tài)優(yōu)先數(shù)。
在多道程序系統(tǒng)中,一組進程中的每個進程均無限期的等待被該組進程中的另一個進程所占有且永遠不會釋放的資源,這種現(xiàn)象處于死鎖狀態(tài)。處于死瑣狀態(tài)的進程稱為死瑣進程。發(fā)生死瑣時,死瑣進程至少有兩個。所有死瑣進程都有等待資源,其中,至少有兩個死瑣進程占用了資源。
永久性資源和臨時性資源。
產(chǎn)生死瑣的原因是:
3 系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進程的使用。
4 多道程序設計時,進程推進次序不合理。
產(chǎn)生死瑣的4個必要條件:
1 互斥條件。
2 不可剝奪條件。
3 部分分配。
4 循環(huán)等待。
資源分配圖(注意40頁B圖有問題)
三種預防措施:
1采用靜態(tài)資源預分配,破壞“部分分配”條件。
2允許進程剝奪其他進程占用的資源,從而破壞“不可剝奪”條件。
3采用資源有序分配法,破壞“環(huán)路”條件。