1. 程式人生 > >軟體設計師3--作業系統知識

軟體設計師3--作業系統知識

作業系統知識

  1. 計算機軟體分為:應用軟體、系統軟體(作業系統,語言處理程式,連線程式,診斷程式,資料庫管理系統等)
  2. 作業系統的兩個重要作用:
    • 通過資源掛曆提高計算機系統的效率。管理軟/硬體資源,CPU管理、儲存管理、裝置管理、檔案管理。對各種資源進行合理的分配,發揮計算機的最大工作效率,提高計算機系統的吞吐量(系統在單位時間內處理工作的能力)
    • 改善人機介面向用戶提供友好的工作環境。有使用者介面的系統和用0和1指令控制計算機的區別。
  3. 作業系統4個特性:併發性、共享性、虛擬性、不確定性
  4. 作業系統5大功能:處理機管理、檔案管理、儲存管理、裝置管理和作業管理
    • 處理機管理
      :對處理機的執行時間進行管理 。採用多道程式等技術將CPU的時間合理的分配給每個任務,主要包括程序控制、程序同步 、程序通訊和程序排程。
    • 檔案管理。主要包括檔案的儲存空間管理、目錄管理、檔案讀寫管理。
    • 儲存管理。主要對主儲存器的空間進行管理,包括儲存分配和回收、儲存保護、地址對映和主存擴充。
    • 裝置管理。對硬體裝置的管理,包括輸入輸出裝置的分配、啟動、完成和回收。
    • 作業管理。包括任務、介面、人機互動、圖形介面、語音控制和虛擬現實等。
  5. 作業系統的分類:批處理作業系統、分時作業系統、實時作業系統、網路作業系統、分散式作業系統、微機作業系統和嵌入式作業系統。
    • 批處理作業系統。分為單道
      批處理和多道批處理。單道的意思是一次只有一個作業裝入記憶體執行,當作業完成後自動呼叫同批的下一個作業來執行。單道批處理作業系統執行作業時,當作業在由於輸入輸出呼叫外部裝置時,CPU處理等待狀態的(浪費CPU時間),而多道的出現就是解決這個問題。在CPU處於等待狀態時調入下一個作業來執行。多道的3個特點:多道、巨集觀上並行執行、微觀上序列執行
    • 分時作業系統。將CPU的時間分為多個時間片,分為為不同的作業服務。有4個特點:多路性、獨立性、互動性和實時性。
    • 實時作業系統。對外來資訊以足快的速度進行處理,並在被控物件允許的時間範圍內做出快速反應,互動能力要求不高,但是要求可靠性有保障。實時作業系統分為實時控制作業系統(武器控制、火炮控制、飛機自動駕駛等)和實時資訊處理作業系統(飛機訂票,情報檢索等)。
    • 分時作業系統和實時作業系統區別:系統設計目標不同(分時是多使用者的通用系統,實時大多是專用系統)、互動能力強弱不同(分時互動能力強),響應時間和敏感度不同(分時以使用者能接受的等待時間為設計依據,實時以被測物體所能接受的延時為設計依據,實時敏感度更強)
    • 網路作業系統。網路作業系統是使聯網計算機能方便有效的共享網路資源,為網路使用者提供服務的軟體和有關協議的集合。主要功能是高效、可靠的網路通訊、對網路共享資源管理(LAN中的硬碟、印表機等)、電子郵件、檔案傳輸等、網路安全管理等。主要有UNIX、Linux和Windows Server
    • 分散式作業系統。分散式作業系統是由多個分散的計算機經連線而成的計算機系統。系統中的計算機無主/次之分,任意兩臺計算機可以通過通訊交換資訊。分散式作業系統對系統中的各類資源進行動態的分配和排程、任務劃分、資訊傳輸協調工作。是網路作業系統的更高階形式,包持了網路作業系統的所有功能,又有透明性、可靠性和高效能的特性。
    • 微機作業系統。各版本的Windows、Linux等
    • 嵌入式作業系統。執行在嵌入式只能晶片的環境下。特點:微型化(效能和成本考慮,記憶體少、字長短、速度慢、能源少)、可定製(對不同的微處理器,進行結構和功能的配置,滿足不同的需求)、實時性、可靠性、易移植性(使用硬體抽象層HAL和板級支撐包BSP的底層設計技術)