心智圖資源庫 作業系統概論心智圖
這是一篇關於作業系統概論的心智圖,OS是指控制和管理整個電腦系統的硬體與軟體資源合理的組織、調度電腦的工作與資源分配,進而為使用者和其他軟體提供方便介面與環境的程式集合。是電腦系統中最基本的系統軟體。
編輯於2023-12-01 15:57:29作業系統
概論
OS概念(定義)
OS是指控制和管理整個電腦系統的硬體與軟體資源, 合理的組織、調度電腦的工作與資源分配, 進而為使用者及其他軟體提供方便介面與環境的程式集合。 是電腦系統中最基本的系統軟體。
作業系統的特徵
並發(最重要、其他特徵的前提)
兩個或多個事件在同一時間間隔內發生
共享
系統中的資源可供記憶體中多個並發執行的程序共同使用 資源共享即共享
互斥共享方式(對攝影機設備的共享使用)
同時存取方式(對硬碟資源的共用使用)
最基本的特徵,二者互為存在條件
虛擬
把一個物理上的實體變成若干邏輯上的對應物
分時使用資源
非同步
多道程序環境允許多個程序並發執行,由於資源有限,進程的執行不是一貫到底的,而是走走停停的,它以不可預測的速度向前推進
作業系統的目標
便利性
有效性
可擴充性
開放性
目標和功能 作業系統的作用 提供的服務
OS作為電腦系統資源的管理者
處理機管理
記憶體管理
設備管理
文件管理
OS作為使用者與電腦硬體系統之間的介面 (向上層提供服務)
普通用戶使用
GUI 圖形使用者介面(最終歸結為程式介面)
命令介面
線上控制方式
線上命令介面(互動式命令介面)適用於分時或即時系統
離線控制方式
離線命令介面(批次命令介面)適用於批次系統
軟體/程式設計師使用
程式介面(系統呼叫==廣義指令)
使用者透過在程式中使用系統呼叫指令請求OS為其提供服務。 使用者在程式中可以直接使用系統呼叫指令向系統提出各種服務要求。
例如 使用外部設備、進行有關磁碟檔案的操作、 申請分配和回收記憶體以及各種控制要求
OS用作擴充機器 實現對電腦資源的抽象
擴充機器/虛擬機器:覆蓋了軟體的機器
發展與分類
手工操作階段
缺點
用戶獨佔全機
CPU等待手動操作,CPU利用不充分
人機矛盾、CPU和I/O速度不匹配的矛盾
批次階段
單道批次系統(引入離線輸入輸出技術)
優點:緩解人機速度矛盾
缺點:資源利用率仍低,高速CPU等待低速I/O
多道批次系統(多道程式設計技術 作業系統開始出現) 多道程式設計(多道、宏觀並行,微觀上串列)
優點
資源利用率高,多道程式共享電腦資源
系統吞吐量大,CPU和其他資源保持“忙碌”
缺點
用戶響應時間長、無人機互動能力
分時OS
優點
提供人機互動功能
缺點
無法優先處理緊急任務
實時OS
軟即時系統
能夠接受偶爾違反時間規定且不會造成永久性的損害
硬實時系統
某個動作必須絕對地在規定的時刻(或規定的時間範圍)發生
優點:能夠優先處理緊急任務
微電腦作業系統
網路OS
分散式OS
個人電腦OS
運作環境
運作機制
程式運行原理
高階語言編寫程式——>機器指令
程式運行的過程就是CPU執行指令的過程
兩種程式
核心程式
應用程式
兩類指令
特權指令(例如I/O指令、置中斷指令等)
非特權指令
訪管指令(程式的運作由使用者態轉到核心態)
兩種處理器狀態
內核態/核心態/管態
使用者態/目態
如何變態?
核心態->使用者態
一條修改PSW的特權指令
使用者態->核心態
由中斷引起,硬體自動完成
例子
系統調用
發生一次中斷
使用者程式中產生了一個錯誤狀態
使用者程式中企圖執行一條特權指令
從核心態轉向使用者態由一條指令實現,這條指令也是特權命令,一般是中斷回傳指令
核心(電腦上配置的底層軟體) 作業系統最重要最核心的部分
時鐘管理
實現計時功能
中斷機制
負責實現中斷機制
原語
是一種特殊的程序
處於作業系統最底層,是最接近硬體的部分
這種程式的運作具有原子性——其運作只能一氣呵成,不能中斷
運行時間較短,呼叫頻繁
系統控制的資料結構及處理 對系統資源進行管理的功能
行程管理
記憶體管理
設備管理
中斷
中斷的作用
讓作業系統核心強行奪回CPU的控制權
使CPU從用戶態變為核心態
中斷的分類
內中斷(異常/例外/陷入) 與目前執行的指令有關 中斷訊號來自CPU內部
陷阱、陷入
陷入指令引發,應用程式故意引發
故障
錯誤條件引起,可能被內核程式修復。 核心程式修復後會把CPU使用權還給應用程序,讓它繼續執行。 (如缺頁中斷)
終止
由致命錯誤引起,內核程式無法修復該錯誤,一般直接終止該應用程式。 (如整數除以零、非法使用特權指令)
外中斷(狹義中斷) 與目前執行的指令無關 中斷訊號來自CPU外部
外設請求(時脈中斷)
人的介入(I/O中斷請求)
中斷機制的基本實作原理
檢查中斷訊號
內中斷:CPU在執行指令時檢查是否由異常發生
外中斷:每個指令周期末尾,CPU檢查是否有外中斷訊號需要處理
找到相應的中斷程序
“中斷向量表"
系統呼叫(OS對 應用程式/程式設計師 提供的介面) 程式介面/廣義指令
系統呼叫是使用者在程式中呼叫OS所提供的一些子功能,可視為特殊的公共子程式 涉及到系統資源管理、進程管理。必須使用某些特權指令,因此運行在核心態
系統呼叫與函式庫函數的區別
有的函式庫函數是對系統呼叫的進一步封裝
有的函式庫函數沒有使用系統調用
什麼功能要用系統呼叫實現
設備管理
文件管理
行程控制
行程通訊
記憶體管理
系統呼叫的過程
傳參
陷入指示/Trap/訪管
由作業系統核心程式處理系統呼叫請求
返回應用程式
體系結構
大內核
將作業系統的主要功能模組都作為系統內核,運行在核心態
優點:高性能
缺點:核心程式碼龐大,結構混亂,難以維護
微內核
只把最基本的功能保留在內核
優點:核心功能少,更可靠,結構清晰,方便維護
缺點:需要頻繁地在核心態和使用者態之間切換,效能低
中斷和異常
中斷處理和子程序呼叫的區別
入口地址
中斷
由中斷隱指令根據中斷向量得到
子程序調用
由呼叫程式根據尋址方式得到
保存環境
中斷
保存PC,PSW,通用暫存器
子程序調用
保存PC,通用暫存器
行程狀態
中斷
從用戶態轉向核心態
子程序調用
無狀態變化
並行與並發對比
OS的並發性是透過分時實現的
並發性
兩個或多個事件在同一時間間隔內發生
平行性
兩個或多個事件在同一時刻發送
需要硬體支援
多道程序環境下,一段時間,宏觀上,多道程序同時執行 某一時刻,單處理機環境下實際僅有一道程序執行,微觀上程序分時交替執行