1. 程式人生 > >程式設計菜鳥到大佬之路:計算機作業系統(四)

程式設計菜鳥到大佬之路:計算機作業系統(四)

計算機系統概述

作業系統控制計算機

計算機系統操作方式

  • OS規定了合理操作計算機的工作流程。

  • OS的操作介面——系統程式

    • OS提供給使用者的功能級介面, 為使用者提供的解決操作計算機和計算共性問題的所有服務的集合。
  • OS的兩類作業級介面

    • 離線作業控制方式: 作業控制語言
    • 聯機作業控制方式: 操作控制命令
  • 聯機作業控制方式

    • 計算機: 提供終端(鍵盤/顯示器)
    • 使用者: 登入系統
    • OS: 提供命令解釋程式
    • 使用者: 聯機輸入命令, 直接控制作業步的執行‘
  • 命令解釋程式

    • 命令解釋程式: 接受和執行一條使用者提出的對作業的加工處理命令
    • 當一個新的批作業被啟動, 或新的互動型使用者登入進系統時, 系統就自動地執行命令解釋程式, 負責讀入控制卡或命令列, 作出相應解釋, 並予以執行。
    • 會話語言: 可程式設計的命令解釋程式
    • 圖形化的命令控制方式
    • 多通道互動的命令控制方式
  • 命令解釋程式的處理過程

    • OS啟動命令解釋程式, 輸出命令提示符, 等待鍵盤中斷/滑鼠點選/多通道識別。
    • 每當使用者輸入一條命令(暫存在命令緩衝區)並按回車換行時, 申請中斷。
    • CPU響應後, 將控制權交給命令解釋程式,接著讀入命令緩衝區內容, 分析命令、 接受引數, 執行處理程式碼。
    • 前臺命令執行結束後, 再次輸出命令提示符,等待下一條命令。
    • 後臺命令處理啟動後, 即可接收下條命令。

人機互動

作業系統的人機互動部分

  • OS改善人機介面, 為使用者使用計算機提供良好的環境。

  • 人機互動裝置包括傳統的終端裝置和新型的模式識別裝置。

  • OS的人機互動部分用於控制有關裝置執行和理解執行裝置傳來的命令。

  • 人機互動功能是決定計算機系統友善性的重要因素,是當今OS研發熱點。

人機互動的發展

  • 互動式控制方式

    • 行命令控制方式: 1960年代開始使用。
    • 全螢幕控制方式: 1970年代開始使用。
  • WIMP介面

    • 特徵: 視窗(Windows) 、 圖示(Icons)、選單(Menu) 和指示裝置(PointingDevices)為基礎的圖形使用者介面WIMP。
    • 時間: 1990年代開始廣泛使用。
  • 多媒體計算機

    • 構成: 多媒體硬體平臺、 多媒體OS 、 圖形使用者介面、 多媒體資料開發工具。
    • 人機互動介面需要使用多種媒體, 同時支援多通道互動整合, 改善使用者體驗。
  • 虛擬現實系統

    • VR通過計算機模擬三維虛擬世界, 根據觀察點、 觀察點改變的導航和對周圍物件 的操作, 來模擬臨境(身臨其境)的感覺。
    • 支援多通道互動整合, 提供良好使用者體驗。
    • 支援使用者主動參與的高度自然的三維HCI,以及語音識別、 頭部跟蹤、 視覺跟蹤、 姿 勢識別等新型HCI。
    • 容許使用者產生含糊和不精確的輸入。

程式介面

作業系統的程式介面

  • 作業系統的程式介面——系統呼叫

  • 作業系統實現的完成某種特定功能的過程; 為所有執行程式提供訪問作業系統的介面。

系統呼叫的實現機制

  • 陷入處理機制: 計算機系統中控制和實現系統呼叫的機制

  • 陷入指令: 也稱訪管指令, 或異常中斷指令, 計算機系統為實現系統呼叫而引起處理器中斷的指令

  • 每個系統呼叫都事先規定了編號, 並在約定暫存器中規定了傳遞給內部處理程式的引數。

系統呼叫的實現要點

  • 編寫系統呼叫處理程式。
  • 設計一張系統呼叫入口地址表, 每個入口地址指向一個系統呼叫的處理程式, 幷包含系統呼叫自帶引數的個數。
  • 陷入處理機制需開闢現場保護區, 以儲存發生系統呼叫時的處理器現場。

系統呼叫的實現流程

在這裡插入圖片描述

系統結構

作業系統軟體的結構設計

  • OS構件

    • 核心、 程序、 執行緒、 管程等
  • 設計概念

    • 模組化、 層次式、 虛擬化
  • 核心設計是OS設計中最為複雜的部分。

作業系統核心

  • 單核心: 核心中各部件雜然混居的形態, 始於1960年代, 廣泛使用; 如Unix/Linux, 及Windows(自稱採用混合核心的CS結構)。

  • 微核心: 1980年代始, 強調結構性部件與功能性部件的分離, 大部分OS研究都集中在此。

  • 混合核心: 微核心和單核心的折中, 較多元件在核心態中執行, 以獲得更快的執行速度。

  • 外核心: 儘可能減少核心的軟體抽象化和傳統微核心的訊息傳遞機制, 使得開發者專注於硬體的抽象化; 部分嵌入式系統使用。

作業系統實現的第一種層次結構

在這裡插入圖片描述

作業系統實現的第二種層次結構

在這裡插入圖片描述