1. 程式人生 > >第二章 程序管理

第二章 程序管理

要點:

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.共享程序資源

 

互斥鎖是為了上鎖而優化的;

條件變數是為了等待而優化的;

訊號燈可用於上鎖,也可用於等待,因而可能導致更多的開銷和更高的複雜性