作業系統(一)作業系統歷史:從標準函式庫到雲端計算

_程式兔發表於2021-07-30

作業系統的發展的推動因素:硬體成本的不斷下降(CPU、記憶體等)、計算機功能和複雜性的不斷變化(批處理、多道程式設計、分時、網路等)、作業系統需要維護自身安全(和攻擊者"黑客"之間的博弈)

本篇導航

狀態機作業系統

第一階段:SOSC——單一操作員單一控制終端

第二階段:批處理作業系統

第三階段:多道批處理作業系統

第四階段:分時作業系統

第五階段:現代作業系統

作業系統未來的發展趨勢

早期的作業系統原型就是一些獨立的庫函式

狀態機作業系統

第一階段:SOSC——單一操作員單一控制終端

這一階段被稱為單一操作員單一控制終端(SOSC,single operator single console)的作業系統,作業系統本身只由一組標準庫函式組成。

使用者輸入命令,作業系統執行對應庫函式,"撥一下動一下",作業系統“等”人輸入命令。

作業系統:庫函式集合

特點:只提供基本功能,滿足人機互動。不支援併發和多道程式執行。

缺點:計算機等人,人的動作太慢

第二階段:紙帶程式設計——批處理作業系統

批處理:.bak的批處理命令

使用者將要執行的命令列印在紙帶上,由工作人員交給計算機一批一批的處理。並由作業系統的“批處理監視器”控制程式的開始和結束。

作業系統:庫函式集合(支援程式執行) + 批處理監視器(控制程式執行)

特點:紙帶上的命令們被載入到磁帶中,作業系統根據順序“挨個”呼叫函式執行,將結果寫在另一個磁帶上,由印表機列印到紙帶。

檔案概念的產生:為了區分載入到磁帶上的多個使用者程式,採用檔案這個抽象概念進行隔離。

第三階段:多道批處理作業系統

批處理OS中CPU和IO是序列的,使用者指令從磁帶讀入的時候,IO工作,CPU需要等待IO完成,造成了CPU的浪費。

作業系統:記憶體管理(程式空間隔離和保護)、IO管理(CPU和磁碟操作併發)、CPU排程(多程式併發)、程式執行(庫函式+監控)

特點:將多個程式同時載入到記憶體中執行,CPU和IO並行。

這一階段同時產生了記憶體分段管理技術

第四階段:分時作業系統 & 實時作業系統

分時作業系統

前期作業系統都有一個弊端:使用者程式編寫在紙帶上交給管理員執行,執行結果再由管理員用紙帶返回給使用者——使用者等待週期長,無法及時獲知程式執行結果。

特點:多臺IO終端同時連在計算機上,計算機在所有連線的終端使用者間進行分時。時間到了,就切換到下一個程式。

需要公平的管理CPU時間。

池化、互斥、程式通訊等機制相繼出現。

分時+多道程式設計,出現了競爭、通訊、死鎖、保護等新功能,作業系統越來越複雜。

注:多道批處理作業系統的併發主要體現在CPU和IO併發上,分時作業系統的併發就是 CPU和IO併發+多程式併發(分時)

實時作業系統

實時作業系統:系統反應具有時序可預測性的系統。

時序可預測性:所有任務在規定時間內完成。

注:區分“反應快”和“反應可預測”,滿足前者的不一定是實時作業系統,但實時作業系統通常具有“反應快”這個特點。即“反應快通常是系統具有時序可預測性的結果”。

軟實時系統和硬實時系統:前者系統在規定時間內未響應的結果可承受,比如流水裝配線,後者不行,比如導彈防衛系統。

第五階段:現代作業系統

個人機作業系統,DOS、Windows、UNIX、Linux等開放式主機作業系統出現。使用者可以獨享一臺計算機的功能。硬體成本下降。

網路的出現,觸發了網路作業系統和分散式作業系統。

作業系統未來的發展趨勢

普適計算、雲端計算、移動計算、大資料計算等。

相關文章