作業系統原理學習筆記目錄作業系統核心
系統態/管態/核心態:能執行一切指令。
使用者態/目態:僅能執行規定的指令。
大多os核心都包含以下兩方面功能:
支撐功能:提供給其他模組所需的基本功能,包括但不限於:
中斷處理、時鐘管理、原語操作。
原語(primitive):使用原子操作(action operation)的若干指令集合,用來完成特定功能。
原子操作:不可中斷的操作。
資源管理功能:程序管理、儲存器管理、裝置管理。
程序的建立(creation of process)
程序的層次結構:
程序可以建立其他程序,兩者為父子關係,父程序建立子程序,多層的父子關係為祖先與子孫。
在撤銷父程序時應該先撤銷子程序。
在windows中,不存在層次結構,所有程序地位相同,父子關係被控制代碼代替,擁有這個控制代碼,就可以控制該程序,控制代碼可以傳遞。
程序圖:
用來描述程序間關係的有向圖,有向邊表示程序間的父子關係。
引起建立程序的事件:
使用者登入:在分時系統中,使用者在終端輸入登入命令且成功後,系統會為其建立乙個程序,並納入就緒佇列中。
作業排程:在多道批處理系統中,作業排程程式排程到某個作業時,會將其裝入記憶體,建立程序,插入就緒佇列中。
提供服務:使用者提出請求後,系統建立乙個程序來提供其所需的服務。
應用請求:與上面三種由系統建立的程序事件不同,該類事件是由使用者程序自己建立新程序。
程序的建立:
系統出現建立程序的請求後,os會呼叫建立原語creat按以下步驟建立程序:
申請空白pcb。
分配所需資源(此時os需知道其需要多少資源)。
pcb初始化。
插入就緒佇列。
程序的終止(termination of process)
引起終止的事件分為三類:正常結束、異常錯誤、外界干預:
正常結束
批處理系統
程式的最後會安排一條halt指令,執行到halt指令時,產生中斷,通知os。
分時系統
使用者利用logs off表示程序執行完畢,產生中斷,通知os。
異常結束
越界錯程式訪問的儲存區超出該程序的區域。
保護錯程序試圖訪問不允許訪問的資源檔案,如訪問唯讀檔案。
非法指令
程式試圖執行不存在的指令,可能是因為資料被當成了指令。
特權指令錯
使用了不被允許使用的指令。
執行超時
執行時間超出指定的最大時間。
等待超時
等待時間超出規定的最大時間。
算術運算錯
程式試圖執行被禁止的運算,例如,以0為除數。
i/o故障
i/o過程中發生錯誤
外界干預
操作員/os干預
程式發生某事件,如死鎖,被操作員強制關閉。
父程序請求
子程序完成父程序交代的任務後,父程序可請求關閉子程序。
因父程序終止
父程序終止時,子程序也應當結束。
程序的終止過程:
os呼叫程序終止原語,執行一下過程:
根據被終止程式的識別符號,從pcb集合中檢索該程序pcb,讀出程序狀態。
若程序處於執行狀態,立即終止該程序的執行,置排程標誌為真,用於指示該程序被終止後應重新進行排程。
若程序還有子孫程序,也應一同終止。
返還程序資源。
將程序pcb從所在佇列移出,等待其他程式收集資訊。
程序的阻塞與喚醒
引起程序阻塞與喚醒的事件:
想系統請求共享資源失敗、等待某種操作完成、新資料尚未到達、等待新任務到達。
程序阻塞過程(主動行為):
程序呼叫阻塞原語block將自己阻塞,進入block過程後,由於該程序處於執行狀態,應立即停止執行,並改變pcb中的現行狀態:由執行改為阻塞,並將pcb插入阻塞佇列。
程序的掛起與啟用
程序的掛起:
os使用掛起原語suspend將其掛起:先檢查程序狀態,若處於活動就緒,則改為靜止就緒;若為活動阻塞,則改為靜止阻塞;之後將其pcb複製進制定的記憶體區域,若被掛起的程式正在執行,則轉向排程程式重新排程。
程序的啟用:
os利用啟用原語active將程序啟用:先從外存調入記憶體,檢查現行狀態,若為靜止就緒,則改為活動就緒;若為靜止阻塞,則改為活動阻塞。
若採用搶占排程策略,則每當有靜止就緒程序被啟用而插入就緒佇列時,應檢查是否需要重新排程,即由排程程式比較被啟用程序與當前程序的優先順序,高的執行,低的中斷。
作業系統原理學習筆記 程序管理
標籤 資料結構 primitive 儲存演算法 io作業 舉報分類 os 4 程序管理 程序的引入 程式併發執行 程序的概念 程序的特徵 引入程序帶來的問題 程序的結構 pcbpcb的組織方式 pcb多級佇列 程序的狀態 程序的五狀態 問題 多個程序競爭記憶體資源 解決方法 對換技術,交換技術 程序...
作業系統學習筆記 程序控制
三 程序控制 1.兩種執行模式 l 系統模式 系統態,控制模式,核心模式 n 具有較高的特權。n 執行系統特定的指令,包括讀 寫控制暫存器的指令,基本i o指令以及與儲存器管理有關的指令,及一些特定的記憶體區。n 核心模式下的處理機及其指令 暫存器和記憶體收受到完全控制和保護 l 使用者模式 或使用...
作業系統 程序控制
附錄 1.程序的建立 include includemain 2.程序的互斥 1 同步 include includemain else else 2 互斥 include includemain else else 3.程序的軟中斷通訊 include include includevoid wa...