1.1.2.2 前驅圖

前趨圖(Precedence Graph):是一個有向無循環圖,記爲DAG(Directed Acyclic Graph),前趨圖中必須不存在循環, 該圖通常用於表現事務之間先後順序的制約關係
結點:可以表示一個語句、一個程序段或是一個進程,
有向邊:結點間的有向邊表示兩個結點之間存在的前趨關係。
 
程序順序執行特性
  • 順序性
  • 封閉性:即程序運行時獨佔全機資源
  • 可再現性
 
程序併發執行特性
  • 間斷性
  • 失去封閉性:是多個程序共享系統中的各種資源
  • 不可再現性
在計算機中,經常採用流水線方式執行指令,每一條指令都可以分解爲取指、分析 和執行三步。
 
  • 〇 表示一個程序、進程或是語句的結點。
  • → 表示結點間的執行順序。
 
前趨關係"→"的形式化描述:→ ={Ai, Bi, Ci} 取指操作爲 Ai,分析操作爲 Bi 和執行操作爲 Ci(i=1,2,3)。
如圖所示爲三個任務各程序段併發執行的前驅圖。
開始結點Initial Node):A1 沒有前趨結點,不受任何制約,可以直接執行
終止結點Final Node): C3 沒有後繼結點
直接前驅:Bi開始執行之前Ai必須完成,此時稱 Ai 是 Bi 的直接前驅
接後繼:Bi開始執行之前Ai必須完成,此時稱 Bi Ai 的直接前驅
重量(Weight用於表示該結點所含有的程序量或程序的執行時間
在前趨圖中,執行先後順序的制約關係可分爲兩種:直接制約間接制約
直接制約:同操作中多個步驟之間的制約關係,也可以說是“同步的進程之間的制約關係”。如圖 A1、B1、C1 是一條指令的取指、分析、執行的三個步驟,所以它們之間的關係是直接制約。
間接制約:多個操作之間相同步驟的制約關係,也可以說是“互斥的進程之間的制約關係”。如圖A1、A2、A3 之間就存在間接制約的關係。
並行執行:B1、A2,
       C1、B2、A3,
       C2、B3,
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章