第二章 程序管理
阿新 • • 發佈:2018-11-26
要點:
1.分析程式執行順序以及併發的特徵
2.程序的概念、特徵與狀態
3.程序控制塊及其組織
程式順序執行時的特徵
1.順序性
2.封閉性
3.可再現性
併發程式執行時的特徵
1.間斷性
2.失去封閉性
3.結果不可在現行
程序實體:程式塊+資料塊+控制塊PCB
區別程序與程式
1.動與靜:程序是動態的,程式是靜態的
2.永久與暫時:程序是暫時的,程式是永久的
3.程序與程式的對應關係:都可1對N
程序的三種基本狀態
1.就緒狀態
2.執行狀態
3.阻塞狀態
PCB的重要性
1.程序控制塊是程序存在的唯一標誌
2.程序管理和控制的最重要的資料結構
程序控制的基本過程
1.建立
2.終止
3.阻塞與喚醒
4.掛起和啟用
程序同步的主要任務:
使併發執行的諸程序之間能有效的共享資源和相互合作,從而使程式的執行具有可再現性
同步機制應遵循的規則
1.空閒讓進
2.忙則等待
3.有限等待
4.讓權等待
p操作:
wait(s);
while s<=0 do no-op;
s:=s-1;
v操作:
signal(s);
s:=s+1;
value>0,表示當前可用資源的數量
value<=0,其絕對值表示等待使用該資源的程序數
先執行對資源訊號量的wait操作,再執行對互斥訊號量的wait操作
管程的優點:
1.圖稿程式碼的可讀性,便於修改和維護
2.正確性
3.模組之間關係清晰
訊息傳遞系統的實現
1.通訊鏈路的建立
2.訊息格式
3.同步方式
一個程序包括多個執行緒,每個執行緒都是利用CPU的基本單位
執行緒的屬性
1.輕型實體
2.獨立排程和分派的基本單位
3.併發執行
4.共享程序資源
互斥鎖是為了上鎖而優化的;
條件變數是為了等待而優化的;
訊號燈可用於上鎖,也可用於等待,因而可能導致更多的開銷和更高的複雜性