一個有4條語句的程序段:算法
S1:a:=x+2;緩存
S2: b:=y+4;併發
S3: c:=a+b;異步
S4: d:=c+b;spa
處理機的操做嚴格按照程序所規定的順序執行,即每個操做必須在下一個操做以前結束。操作系統
程序在封閉的環境下執行,結果不受外界因素的影響。線程
只要環境和初始條件相同,程序重複執行時總獲得相同結果。指針
一個有4條語句的程序段:code
S1:a:=x+2;對象
S2: b:=y+4;
S3: c:=a+b;
S4: d:=c+b;
S1和S2能夠同時執行-》S3-》S4
程序A
L1: N:=N+1 goto L1
程序B
L2: PRINT (N) N:=0 goto L2
設共享變量N初始值爲5,則會產生3種執行結果:
6,6,0 5,0,1 5,6,0
進程的結構 | 功能描述 |
---|---|
進程控制塊(PCB) | 動態特徵的集中反映 |
程序段 | 描述要完成的功能 |
數據段 | 操做對象及工做區 |
進程由建立產生,由調度而執行,由撤銷而消亡的過程。
多個進程同在內存中,且能在一段時間內同時運行。
進程是一個能獨立運行、獨立分配資源、獨立接受調度的基本單位
進程按各自獨立的、不可預知的速度向前推動
進程是進程實體的運行過程,是系統進行資源分配和調度的基本單位。
(1)進程是一個動態概念,程序是一個靜態概念
(2)進程具備並行特徵,程序沒有
(3)進程是競爭資源的基本單位
(4)一個程序對應多個進程,一個進程爲多個程序服務。
(1)終端用戶請求
(2)父進程請求
(3)負荷調節須要(通常在實時操做系統中使用)
(4)操做系統的須要
靜止狀態(掛起狀態)
活動狀態(非掛起狀態)
引入掛起概念後,原先的進程的三種狀態就變成了5種:
(1)執行
(2)活動就緒
(3)靜止就緒
(4)活動阻塞
(5)靜止阻塞
Process Control Block
(1)進程標識符
(2)處理機狀態
(3)進程調度信息
(4)進程的控制信息
(1)內部標識符
進程惟一的數字編號,給OS使用
(2)外部標識符
由字母、數字組成,給用戶使用
(1)通用寄存器8~32個,暫存信息用
(2)指令計數器 要訪問的下一條指令的地址
(3)程序狀態字PSW 條件碼、執行方式、中斷屏蔽標誌
(4)用戶棧指針 用戶進程擁有的系統棧,存放過程和系統調用參數及調用地址。
(1)連接方式
把統一狀態的PCB,用其中的連接字連接成一個隊列。如,就緒隊列、阻塞隊列(根據不一樣阻塞緣由)、空白隊列。
(2)索引方式
創建就緒索引表、阻塞索引表等。把索引表在內存的首地址放在內存的專用單元中。