1. 程式人生 > >作業系統引論

作業系統引論

作業系統的目標和作用

1.1 作業系統的目標和作用

1.1.1 作業系統的目標

在計算機系統上配置作業系統,其主要目標是:方便性、有效性、可擴充性和開放性。

1.1.2 作業系統的作用

  1. OS作為使用者與計算機硬體系統之間的介面
  2. OS作為計算機系統資源的管理者
  3. OS實現了對計算機資源的抽象

1.1.3 推動作業系統發展的主要動力

  1. 不斷提高計算機資源利用率
  2. 方便使用者
  3. 器件的不斷更新換代
  4. 計算機體系結構的不斷髮展
  5. 不斷提出新的應用需求

1.2 作業系統的發展過程

1.2.1 未配置作業系統的計算機系統

  1. 人工操作方式
  2. 離線輸入/輸出(Off-Line I/O)方式

1.2.2 單道批處理系統

  1. 單道批處理系統(Simple Batch Processing System)的處理過程
開始還有下一個作業?把下一個作業的源程式轉換為目標程式停止源程式有錯嗎裝配目標程式執行目標程式
  1. 單道批處理系統最主要的缺點是,系統中的資源得不到充分的利用。

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

  1. 多道批處理系統的優缺點 ① 資源利用率高 ② 系統吞吐量大 ③ 平均週轉時間長 ④ 無互動能力
  2. 多道批處理系統需要解決的問題 ① 處理機爭用問題 ② 記憶體分配和保護問題 ③ I/O裝置分配問題 ④ 檔案的組織和管理問題 ⑤ 作業管理問題 ⑥ 使用者與系統的介面問題

1.2.4 分時系統(Time Sharing System)

  1. 推動分時系統形成和發展的主要動力,是為了滿足使用者對人機互動的需求。使用者的需求具體表現在人機互動和共享主機兩個方面。
  2. 分時系統實現中的關鍵問題是如何使使用者能與自己的作業進行互動。系統需要做到及時接收和及時處理。
  3. 分時系統具有多路性、獨立性、及時性以及互動性四個方面的特性。

1.2.5 實時系統(Real Time System)

  1. 實時系統的型別:工業(武器)控制系統、資訊查詢系統、多媒體系統、嵌入式系統。
  2. 實時任務的型別: ① 週期性實時任務和非週期性實時任務 ② 硬實時任務和軟實時任務
  3. 實時系統與分時系統特徵的比較 ① 多路性 ② 獨立性 ③ 及時性 ④ 互動性 ⑤ 可靠性

1.2.6 微機作業系統的發展

  1. 單使用者單任務作業系統(CP/M、MS-DOS)
  2. 單使用者多工作業系統
  3. 多使用者多工作業系統(Solaris OS、Linux OS)

1.3 作業系統的基本特性

1.3.1 併發(Concurrence)

  1. 並行與併發。並行性是指兩個或多個事件在同一時刻發生,併發性是指兩個或多個事件在同一時間間隔內發生。
  2. 程序是指在系統中能獨立執行並作為資源分配的基本單位。

1.3.2 共享(Sharing)

  1. 互斥共享方式
  2. 同時訪問方式

1.3.3 虛擬(Virtual)

  1. 時分複用技術(虛擬處理及技術、虛擬裝置技術)
  2. 空分複用技術

1.3.4 非同步(Asynchronism)

程序是以人們不可預知的速度向前推進的,此即程序的非同步性。

1.4 作業系統的主要功能

1.4.1 處理機管理功能

  1. 程序控制
  2. 程序同步
  3. 程序通訊
  4. 排程

1.4.2 儲存器管理功能

儲存器管理的主要任務是為多道程式的執行提供良好的環境,提高儲存器的利用率,方便使用者使用,並能從邏輯上擴充記憶體。

  1. 記憶體分配
  2. 記憶體保護
  3. 地址對映
  4. 記憶體擴充

1.4.3 裝置管理功能

裝置管理的主要任務是:①完成使用者程序提出的I/O請求,為使用者程序分配所需的I/O裝置,並完成指定的I/O操作。②提高CPU和I/O裝置的利用率,提高I/O速度,方便使用者使用I/O裝置。

  1. 緩衝管理
  2. 裝置分配
  3. 裝置處理

1.4.4 檔案管理功能

檔案管理的主要任務是對使用者檔案和系統檔案進行管理以方便使用者使用,並保證檔案的安全性。

  1. 檔案儲存空間的管理
  2. 目錄管理
  3. 檔案的讀/寫管理和保護

1.4.5 作業系統與使用者之間的介面

  1. 使用者介面(聯機使用者介面、離線使用者介面、圖形使用者介面)
  2. 程式介面

1.4.6 現代作業系統的新功能

  1. 系統安全(認證技術、密碼技術、訪問控制技術、反病毒技術)
  2. 網路的功能和服務(網路通訊、資源管理、應用互操作)
  3. 支援多媒體(接納控制功能、實時排程、多媒體檔案的儲存)

1.5 OS結構設計

1.5.1 傳統作業系統結構

  1. 無結構作業系統
  2. 模組化結構OS 利用模組-介面法開發的OS,較之無結構OS具有以下明顯的有點:提高OS設計的正確性、可理解性和可維護性;增強OS的可適應性;加速OS的開發過程;
  3. 分層式結構OS 分層結構主要的有點有:易保證系統的正確性;易擴充和易維護性;

1.5.2 客戶/伺服器模式(Client/Server Model)

  1. 客戶/伺服器模式的由來、組成和型別 客戶/伺服器系統主要由三部分組成: ① 客戶機 ② 伺服器 ③ 網路系統
  2. 客戶/伺服器之間的互動 ① 客戶傳送請求訊息 ② 伺服器接收訊息 ③ 伺服器回送訊息 ④ 客戶機接受訊息
  3. 客戶/伺服器模式的優點 ① 資料的分佈處理和儲存 ② 便於集中管理 ③ 靈活性和可擴充性 ④ 易於改編應用軟體

1.5.3 面向物件的程式設計(Object-Orientated Programming)技術

  1. 面向物件技術的基本概念(物件、物件類、繼承)
  2. 面向物件技術的優點:通過“重用”提高產品質量和生產率;是系統具有會更好的易修改性和易擴充套件性;更易於保證系統的“正確性”和“可靠性”;

1.5.4 微核心OS結構

  1. 微核心作業系統的基本概念 ① 足夠小的核心 ② 基於客戶/伺服器模式 ③ 應用“機制與策略分離”原理 ④ 採用面向物件技術
  2. 微核心的基本功能 ① 程序(執行緒)管理 ② 低階儲存器管理 ③ 中斷和陷入處理
  3. 微核心作業系統的優點 ① 提高了系統的可擴充套件性 ② 增強了系統的可靠性 ③ 可移植性強 ④ 提供了對分散式系統的支援 ⑤ 融入了面向物件技術
  4. 微核心作業系統存在的問題 由於採用了非常小的核心,較之早期的作業系統,微核心作業系統的執行效率有所降低。