第三章行程
1、行程的概念:執行中的程式
2、行程與程式的區別
程式不是行程,程式只是被動物體,而行程是活動物體,當一個可執行檔案被裝入記憶體時,一個程式才能被稱為行程,
- 行程是一個動態概念,程式是一個靜態概念;
- 行程有生命周期,有誕生有消亡,短暫的;而程式是相對長久的,
- 行程具有并發性,而程式沒有;
- 行程是競爭計算機系統資源的基本單位,其并發性受到系統本身的制約;
- 不同的行程可以包含同一程式,只要程式所對應的資料集不同
3、行程狀態及其轉換|||||||
新的:行程正在被創建
運行:指令正在被執行
等待:行程等待某個事件的發生
就緒:行程等待分配處理器
終止:行程完成執行

4、行程控制塊
每個行程在作業系統中用程式控制塊來表示(PCB):包括行程狀態、程式計數器、CPU暫存器、CPU調度資訊、記憶體管理資訊、記賬資訊、I/O狀態資訊
PCB用來保存程式運行期間的重要資訊、行程存在的唯一標識、記錄了OS所需的用于描述行程及控制行程所需的全部資訊、行程與PCB是一一對應的
5、行程調度:選擇一個可用的行程到CPU上執行
6、作業佇列:保存系統中所有的行程,行程進入系統會被加入作業佇列
7、就緒佇列:駐留在記憶體中的、等待運行的程式保存在就緒佇列中
8、設備佇列:等待I/O設備的行程,每個設備都有自己的設備佇列
9、調度程式:行程選擇有相應的調度程式執行
10、長期調度(作業調度):選擇一個行程進入記憶體的就緒佇列,控制多道程式設計的程度(記憶體中行程的數量),執行的并不頻繁
11、短期調度(CPU調度):從就緒佇列中選擇一個行程,并為之分配CPU
12、兩者區別:執行的頻率
13、中期調度:中級調度主要完成虛擬記憶體管理相關得換入換出操作
14、背景關系切換(調度程序):當CPU切換到另一個行程的時候,系統需要保存老行程的狀態,并且加載新行程的狀態,背景關系切換的時間是系統的額外開銷,切換時系統不做任何有用的作業,時間與硬體支持密切相關
15、行程操作:行程創建,行程終止
行程創建:父行程創建子行程,子行程繼續創建,從而形成一棵行程樹
行程終止:父行程能夠中止子行程的執行
16、父行程能夠中止子行程的執行的原因:
- 子行程使用了超過它所分配到的一些資源
- 子行程的任務不再需要
- 如果父行程結束了,一些作業系統不允許子行程繼續執行
17、對換技術、交換技術:將記憶體中暫時不能運行的行程,或暫時不用的資料和程式,換出到外存,以騰出足夠的記憶體空間,把已經具備運行條件的行程,或行程需要的資料和程式,換入記憶體
18、行程分類:I/O為主的行程、CPU為主的行程
19、行程終止實作
第一步:根據被終止行程的識別符號,從PCB集合中查找對應行程控制塊并讀出該行程的狀態;
第二步:若被終止行程正處于執行狀態,則終止該行程的執行,并設定調度標志為真,用于指示該行程被終止后應重新進行調度,選擇一新行程,把處理機分配給它,
第三步:若行程還有子孫行程,應將其所有子孫行程終止,以防它們成為不可控制的,
第四步:將行程所占有的全部資源釋放(還給父行程或系統),釋放行程控制塊(若該進成為執行態,要進行行程調度),
第五步:將被終止行程(它的PCB)從所在佇列(或鏈表)中移出,等待其他程式來收集相關資訊,
20、行程協作的目的:資訊共享、提高運算速度、模塊化、方便
21、行程間通信基本模式:(1)共享記憶體(2)訊息傳遞
22、訊息傳遞通過系統呼叫來實作,速度慢,對于交換較少數量的資料很有用,因為不需要避免沖突,
23、共享記憶體訊息傳遞速度快,只有在建立共享記憶體區時需要系統調用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274059.html
標籤:其他
下一篇:21西電計科院跨考上岸經驗分享
