計算機作業系統|作業系統引論

踏浪逐波發表於2020-11-14

​ 

作業系統(Operating System,OS)

  • 一組程式的集合,控制和管理計算機硬體和軟體資源

  • 計算機硬體上的第一層軟體,是對硬體系統的首次擴充

  • 計算機中最基本和最重要的系統軟體,是其他系統軟體和應用軟體執行的基礎

目標和作用 

作業系統的目標

  • 方便性:使計算機系統更易使用

  • 有效性:提高資源利用率和系統吞吐量

  • 可擴充性:方便對模組和功能的擴充、修改

  • 開放性:遵循世界標準規範,方便相容、互聯

作業系統的作用

  • 作為使用者與計算機硬體系統間的介面:命令,系統(功能)呼叫,圖形化介面(圖示-視窗)

  • 作為計算機資源的管理者:處理機的分配和控制,(儲存器)記憶體的分配和回收,I/O裝置的分配和操縱,檔案(資料和程式)的讀取、共享和保護

  • 實現了對計算機資源的抽象:在裸機上鋪設了多層軟體,增強了系統的功能,隱藏了對硬體操作的細節

發展

作業系統的發展過程

  • 無作業系統的計算機系統:人工操作方式,離線輸入/輸出(Off-Line I/O)方式

  • 單道批處理系統(Simple Batch Processing System)

  • 多道批處理系統(Multiprogrammed Batch Processing System)

  • 分時系統(Time Sharing System):人機互動,共享主機

  • 實時系統(Real Time System):Solaris,Linux;Unix(大中小型機:多使用者多工)

人工操作方式的缺點

  • 使用者佔用全機

  • CPU等待人工操作

離線I/O方式的優點

  • 減少了CPU的空閒時間

  • 提高了I/O速度

單道批處理系統的缺點

  • 系統中的資源得不到充分的利用

多道批處理系統的優缺點

  • 資源利用率高

  • 系統吞吐量

  • 平均週轉時間長

  • 無互動能力

多道批處理系統需要解決的問題

  • 處理機爭用問題

  • 記憶體分配和保護問題

  • I/O裝置分配問題

  • 檔案的組織和管理問題

  • 作業管理問題

  • 使用者與系統的介面問題

分時系統實現中的關鍵問題

  • 及時接收

  • 及時處理(作業直接進入記憶體,採用輪轉執行方式)

分時系統的特徵(與多道批處理系統相比)

  • 多路性

  • 獨立性

  • 及時性

  • 互動性

實時系統的型別

  • 工業(武器)控制系統

  • 資訊檢查系統

  • 多媒體系統

  • 嵌入式系統

實時任務的型別

  • 週期性vs非週期性

  • 硬實時vs軟實時

實時系統vs分時系統

  • 多路性

  • 獨立性

  • 及時性

  • 互動性

  • 可靠性

微機作業系統的發展

  • 單使用者單任務

  • 單使用者多工

  • 多使用者多工(Unix-Solaris/Linux)

作業系統發展的主要動力

  • 不斷提高計算機資源利用率

  • 方便使用者

  • 器件的不斷更新換代

  • 計算機體系結構的不斷髮展

  • 不斷提出新的應用需求

基本特性和功能

作業系統的基本特性

  • 併發性:並行vs併發,程式

  • 共享性:互斥共享,“同時”訪問

  • 虛擬性:虛擬技術,分時多工(處理機,裝置),空間多工(儲存器)

  • 非同步性:多道程式中每個程式的執行速度未可知,但執行結果相同

作業系統的功能

  • 處理機管理:程式控制,程式同步,程式通訊,排程(作業/程式)

  • 儲存器管理:記憶體分配(靜態/動態),記憶體保護,地址對映,記憶體擴充(調入/置換)

  • 裝置管理:緩衝管理,裝置分配,裝置處理

  • 檔案管理:檔案儲存空間的管理,目錄管理,檔案的讀/寫管理和保護

  • 友好的使用者介面:使用者介面(聯機/離線/圖形),程式介面

現代作業系統的新功能

  • 系統安全:認證技術,密碼技術,訪問控制技術,反病毒技術

  • 網路的功能和服務:網路通訊,資源管理,應用互操作

  • 支援多媒體:接納控制,實時排程,多媒體檔案的儲存

結構設計

作業系統的結構設計

  • 無結構:整體系統結構,一組過程的集合,每個過程可以任意地相互呼叫其他過程

  • 模組化結構:按功能劃分為若干個具有一定獨立性和大小的模組

  • 分層式結構:按功能流圖的呼叫次序劃分為若干個層次,每一層只能呼叫較低層,自底向上或自頂向下新增軟體

  • 微核心結構:以模組化、層次化結構為基礎,採用客戶/伺服器模式(Client/Server Mode)和麵向物件的程式設計技術,支援分散式系統

模組獨立性的兩個標準

  • 內聚性

  • 耦合度

模組介面法的優缺點

  • 提高OS設計的正確性

  • 可理解性和可維護性

  • 增強OS的可適應性

  • 加速OS的開發過程

模組化結構設計存在的問題

  • 設計的介面規定很難滿足實際需求

  • 各模組同時設計,各種決定具有“無序性”,又叫“無序模組法”

  • 分層設計的優缺點

  • 易保證系統的正確性

  • 易擴充和易維護性

客戶/伺服器模式的組成

  • 客戶機

  • 伺服器

  • 網路系統

客戶/伺服器模式的互動過程

  • 客戶傳送請求訊息

  • 伺服器接收訊息

  • 伺服器回送訊息

  • 客戶機接收訊息

客戶/伺服器模式的優點

  • 資料的分佈處理和儲存

  • 便於集中管理

  • 靈活性和可擴充性

  • 易於改編應用軟體

物件導向技術的優點

  • 通過“重用”提高產品質量和生產率

  • 使系統具有更好的易修改性和易擴充套件性

  • 更易於保證系統的“正確性”和“可靠性”

微核心作業系統

  • 足夠小的核心

  • 基於客戶/伺服器模式

  • 應用“機制與策略分離”原理

  • 採用物件導向技術

微核心作業系統的基本功能

  • 程式(執行緒)管理

  • 低階儲存器管理

  • 中斷和陷入處理

微核心作業系統的優點

  • 提高了系統的可擴充套件性

  • 增強了系統的可靠性

  • 可移植性強

  • 提供了對分散式系統的支援

  • 融入了物件導向技術

傳統作業系統vs微核心作業系統

傳統作業系統兩次上下文切換

  • 一次是在執行系統呼叫後由使用者態轉向系統態時

  • 另一次是在系統完成使用者請求的服務後,由系統態返回使用者態時

微核心作業系統四次上下文切換:

  • 第一次發生在客戶傳送請求訊息給核心,以請求取得某伺服器特定的服務時

  • 第二次發生在由核心把客戶的請求訊息發往伺服器時

  • 第三次是當伺服器完成客戶請求後,把相應訊息傳送到核心時

  • 第四次是在核心將相應訊息傳送給客戶時

 

相關文章