作業系統概述
- 2020 年 7 月 9 日
- 筆記
作業系統概述
什麼是作業系統?
作業系統(operating system, OS)是管理電腦硬體的程式。是應用程式運行的基礎,同時充當著電腦用戶和和電腦硬體的中介。不同的機器作業系統的主要用途也不同:個人電腦(Personal Computer, PC)的作業系統支援複雜遊戲,商業應用及其之間的其他應用。移動電腦的作業系統則為用戶提供一個環境,便於和電腦進行交互及執行程式……
作業系統的目標
1.作業系統充當用戶和電腦硬體的中介,運行用戶程式是作業系統的核心目標。
2.更高效的管理電腦硬體,合理組織工作的流程,提高資源的利用率(系統的吞吐量)。
作業系統的發展過程
1.無作業系統——真空管時代
此時用戶佔據了全部資源,CPU和I/O的速度完全不匹配。高速CPU經常要等待低速的I/O設備,導致CPU閑置。數據通過穿孔機或者卡片裝入,同時每個使用用戶都要自行編寫源程式碼,工作量大易出錯。
解決方式:
l 離線I/O:通過把I/O的工作放到外圍機來完成,脫離主機的情況下進行,使用磁帶作為輸入/輸出的中介,稱為離線輸入/輸出
2.單道批處理系統——電晶體時代
把一批作業以離線輸入的方式輸入到磁帶,利用磁帶把任務分類編成作業並順序執行,每批作業由專門的程式(Monitor)自動依次處理。此方式解決了CPU和人工I/O之間速度不匹配的問題。單道指的是一次只能處理一個程式。其雖然一定程度減少了CPU的空閑時間,但是CPU和I/O設備忙閑不均也是主要缺點。
3.多道批處理系統——積體電路時代
此時為了提高資源的利用率,而在記憶體中同時存放幾個作業,且多個作業共享CPU、記憶體、外設等資源。多道的最大優點是可以使CPU儘可能的處於忙狀態,進而提高CPU的利用率。同時作業有無序性,作業進入的順序和輸出的順序無直接關聯。還具有調度性,需要通過調度演算法來確定具體哪個作業先行執行。但其不具備交互能力
多道批處理系統基於中斷技術和通道
l 通道:是一種專用部件,負責外設和記憶體之間的資訊傳輸。
l 中斷:指主機收到外界訊號,立即終止工作,轉去處理外來的事件,處理完後再繼續處理被中斷的工作。
下面是單道和多道的示意圖
4.分時系統
在多道的基礎上增加了交互服務。把CPU的相應時間分成若干個大小相等(或不等)的時間單位,稱為時間片(time slice),每個用戶獲得CPU後開始運行,當其時間片時間到,該用戶暫停運行,等待下一次CPU的分配。因為時間片對於用戶來說時間極短,請求能被及時處理,每個用戶都感覺獨佔了電腦一樣。從此作業系統開始分化,例如實時系統、網路系統……
5.實時系統
能及時響應外部請求,並在規定時間內完成相應處理的作業系統。其最需要保障的是可靠性,保障任務能在規定時間內正確相應。如果系統的時間約束條件得不到滿足,將會發生系統出錯。其具體還可分為兩種系統:
l 強實時系統:主要應用在航空航天、軍事、核工業等一些關鍵領域中,應用時間需求應能夠得到完全滿足,否則就造成如飛機失事等重大地安全事故,造成重大地生命財產損失和生態破壞。在這類系統的設計和實現過程中,應採用各種分析、模擬及形式化驗證方法對系統進行嚴格的檢驗,以保證在各種情況下應用的時間需求和功能需求都能夠得到滿足。
l 弱實時系統:某些應用雖然提出了時間需求,但實時任務偶爾違反這種需求對系統的運行以及環境不會造成嚴重影響,如影片點播(Video-On-Demand,VOD)系統、資訊採集與檢索系統就是典型的弱實時系統。在VOD系統中,系統只需保證絕大多數情況下影片數據能夠及時傳輸給用戶即可,偶爾的數據傳輸延遲對用戶不會造成很大影響,也不會造成像飛機失事一樣嚴重的後果。
作業系統的特徵
l 並發性:兩個或者兩個以上的活動在同一時間間隔內發生
l 共享性:系統不在為某個程式獨佔,而是多個用戶共享
l 虛擬性:邏輯上的對應物可以和物理上的實體數量不匹配
l 不確定性:並發程式以不可預知的速度向前推進,並發活動具有不可再現性,可能導致程式的執行結果不唯一,OS需要在隨機環境下保證程式確定結果