前趨圖和程序執行
- 前趨圖和程序執行
- 前趨圖:
- 目的:為了能更好的描述程序的順序和並發執行的情況
- 概念:有向無循環圖(DAG)
- 程序執行
- 程序的順序執行
- 概念:一個程序有若干個程序段組成,每一個程序段完成特定的功能,在執行時要按照某種次序順序執行
- 圖a為程序執行情況,I為輸入操作,C為計算操作,P為打印操作
- 圖b為程序段執行情況,分別由s1,s2,s3語句,程序段的執行也有順序
- 特性:
- 順序性:處理機制嚴格按照程序順序執行
- 封閉性:在封閉的環境下運行,獨占全機資源,資源狀態只有本程序改變,執行不受外部影響
- 可再現性:只要執行時的環境和初始條件相同,當程序反復執行時,都可獲得相同的結果
- 程序並發執行
- 前提:為提高資源利用率,引入多道系統,使程序或程序段能並發執行,只有不存在前趨關系的程序或程序段才能並發執行。
- 具體:
- 如圖2-3我們可以看到,不是前趨關系的有畫紅線相連的操作,它們可以並發執行
- 圖2-4中,我們可以看出s1和s2可以並發執行
- 特征:
- 間斷性:程序並發執行由於它們共享資源,以及為同一項任務而合作,致使在這些並發執行的程序之間形成了相互制約的關系。相互制約導致並發執行的程序具有“執行-暫停-執行”這種間斷性的活動規律
- 失去封閉性:共享資源,資源也由這些程序改變,致使任意程序在運行時,其環境都必然會受到其他程序的影響。例如處理機分配給某一程序,其他程序必須等待。
- 不可再現性:失去封閉性導致失去了可再現性
- 程序的順序執行
- 前趨圖: