1. 程式人生 > >作業系統 第2章 程序管理

作業系統 第2章 程序管理

2.1 程序的基本概念
重點理解
主要要理解程式執行順序與併發的特徵與定義
瞭解程序的定義特徵及狀態
PCB
1.程式順序執行時的特徵
(1) 順序性
處理機的操作嚴格按程式規定順序執行
(2) 封閉性
程式一旦開始執行,其計算結果不受外界因素影響。
(3) 可再現性
程式執行只要初始條件一樣,不論如何停頓,重複執行多少次結果都一樣。
2.併發程式執行時的特徵
間斷性(執行表現)
多道 -> 程式併發執行-> 要共享系統的資源 -> 形成相互制約的關係
兩程式對N的使用是互相影響的,沒有封閉性。
執行中對N的修改都會影響對方結果,結果不可再現。
3.區別程序與程式
動與靜:
程序是動態的,程式是靜態的:程式是有序程式碼的集合;程序是程式的執行。
永久與暫時:
程序是暫時的,程式是永久的:程序是一個狀態變化的過程,程式可長久儲存。
結構:
程序的組成包括程式、資料和程序控制塊(程序各種控制資訊)。
程序與程式的對應關係:
都可1對n。通過多次執行,一個程式可對應多個程序;通過呼叫關係,一個程序可包括多個程式。
4.程序的三種基本狀態
(1)就緒狀態(Ready)
程序獲得除CPU之外的所有必需資源,一旦得到CPU控制權,可立即執行。
(2)執行狀態(Running)
程序已獲得所有執行必需的資源,正在處理機上執行。
(3)阻塞狀態(Blocked)
正在執行的程序由於發生某事件(請求I/O、申請緩衝、時間片到)而暫時無法執行時,便放棄CPU後暫停
在這裡插入圖片描述


5.關於掛起
(1)

  • 掛起狀態 *
    就緒的、但不會被排程執行
    (2)產生原因
    使用者自己請求暫停
    父程序檢查、協調子程序時掛起子程序
    調節負荷的需要,負載過重,為保證實時任務的控制,掛起一些不重要的程序
    作業系統的檢查和記錄需要掛起程序。
    在這裡插入圖片描述

6.程序控制塊PCB
程序實體:程式碼段+資料段+PCB
程序控制塊定義 Process Control Block
存放程序的管理和控制資訊的資料結構稱為程序控制塊。