1. 程式人生 > >極簡作業系統總結

極簡作業系統總結

概覽

作業系統本身也是軟體(彙編/c),用來管理計算機硬體資源,提供通用服務給計算機程式。 作業系統的基本任務包括:檔案管理,記憶體管理,程序管理,輸入輸出處理和包括硬碟和印表機等的外圍裝置的控制。

記憶體管理

1.記錄記憶體中被使用的部分是被誰使用了,還有哪些部分沒有被使用 2.作業系統決定哪個程序什麼時候能得到多少記憶體空間 3.分配記憶體空間給需要的程序 4.當一個程序結束或者被終止了,騰出分配給它的記憶體空間

處理器管理

1.跟蹤處理器(CPU),記錄程序狀態 2.給程序分配處理器 3.回收處理器

裝置管理

1.(輸入輸出控制器)跟蹤所有裝置 2.決定哪個程序什麼時候以及多久享用裝置 3.高效分配裝置 4.回收裝置

檔案管理

1.記錄資訊、位置和使用情況 2.決定讓誰得到檔案資源 3.分配檔案資源 4.回收檔案資源

其他

1.安全性 依靠密碼技術預防訪問不被授權訪問的程式和資料 2.控制系統性能 記錄請求和響應之間的延遲 3.作業統計 記錄不同的作業和使用者對時間和資源的使用 4. 錯誤發現幫助 Production of dumps, traces, error messages, and other debugging and error detecting aids. 5. 協調其他軟體和使用者 為不同的電腦系統使用者協調和分配編譯器、直譯器和彙編器

作業系統型別

批處理作業系統

1.使用者和作業之間沒有互動行為 2.CPU經常閒置,因為機械的輸入輸出裝置比CPU慢 3.難以提供需要的優先順序

分時作業系統

1.快速響應 2.避免軟體複製 3.減少CPU空閒時間 缺點: 1.穩定性 2.使用者程式和資料的安全和完整 3.資料通訊的問題

分散式作業系統

分散式系統使用多箇中央處理器來服務多個實時應用程式和多個使用者。資料處理作業也相應地分佈在處理器中。 1.通過資源分享設施 一個站點的使用者可以享用另一個站點的資源 2.通過電子郵件加速資料交換 3.如果一個站點失效了,其餘的站點繼續運作 4.更好地服務客戶 5.減少主機負荷 6.減少程式處理的延遲

網路作業系統

網路作業系統執行在伺服器上,併為伺服器提供管理資料、使用者、組、安全、應用程式和其他網路功能的能力。 1.集中式伺服器非常穩定 2.安全性是可以管理的 3.對新技術和硬體的升級可以很容易地整合到系統中 4.從不同的位置和系統型別可以遠端訪問伺服器 缺點: 1.伺服器的購買和執行都比較貴 2.大部分操作依靠一箇中心 3.需要定期維護和更新

實時作業系統

當一個處理器的操作有嚴格的時間要求,或者資料流和實時系統可以作為一個專用應用程式的控制裝置時,就會使用實時系統。一個實時作業系統必須有明確的定義,固定的時間約束。通常用於科學實驗,工業控制和交通控制。

服務

作業系統提供執行的環境給程式,提供執行程式的服務給使用者

程式執行

1.載入程式到記憶體 2.執行程式 3.處理程式結果 4.提供程序同步機制 5.提供程序通訊機制 6.提供死鎖處理機制

輸入輸出操作

一個輸入輸出子系統包括輸入輸出裝置和相應的驅動軟體。驅動隱藏了硬體裝置的獨特性。 1.輸入輸出操作是對檔案的讀寫或者具體的裝置的讀寫 2.作業系統提供對需要的裝置的使用權

檔案系統處理

檔案系統通常被組織到目錄中,以方便導航和使用。 1.讀寫檔案的程式 2.許可程式對檔案進行操作 3.只讀、讀寫、不可讀等等的許可許可權 4.提供介面讓使用者建立或者刪除檔案 5.提供介面讓使用者建立或者刪除目錄 6.提供介面讓使用者建立或者刪除檔案備份

通訊

分散式系統是一個不共享記憶體、外圍裝置或時鐘的處理器的集合,系統管理所有程序之間的通訊。多個程序通過網路中的通訊線路相互通訊。 1.交換兩個程序需要的資料 2.程序們可以在同一臺或不同臺電腦上,但是它們要通過計算機網路通訊 3.通訊有兩種方式,分別是共享儲存和訊息傳遞

錯誤處理

錯誤可以在任何時間和任何地點發生。在CPU、輸入/輸出裝置或記憶體硬體中可能會出現錯誤。 1.作業系統持續地檢查可能的錯誤 2.確保正確如一地運算

資源管理

多使用者和多工環境中,諸如主存、CPU週期和檔案儲存等資源將被分配給每個使用者或作業 1.作業系統使用排程程式管理各種資源 2.CPU排程演算法用於更好地利用CPU

保護

考慮到一個計算機系統擁有多個使用者和多個併發執行的程序,必須保護不同的程序,避免彼此的干擾。 1.確保所有的系統資源都是能控制的 2.確保外部的輸入/輸出裝置不受無效訪問的影響 3.作業系統通過密碼為每個使用者提供身份驗證功能

效能