【閱讀筆記】《操作系統之哲學原理》2

《操作系統之哲學原理》(鄒恆明 著)

基礎原理篇

Chapter2 os歷史

“操作系統的演變就是對計算機硬件進行粉飾的過程。”——《操作系統之哲學原理》

歷史發展的因素驅動:

  1. 硬件成本不斷下降,硬件質量、數量提升;
  2. 計算機功能和複雜性不斷變化;
  3. os攻擊者的破壞。

一、狀態機os(1940年以前)

  1. 一種簡單的狀態轉換程序,功能簡單,計算僅加減法。
  2. 不支持交互命令輸入及自動程序設計,無存儲程序概念。
  3. 此時自動機的一切動作由人操控。

二、單一操作員單一控制端os(1940s)
【Single Operator,Single Console,SOSC】

  1. 代表機型:ENIAC計算機,是第一臺電子計算機。
  2. 提供一些標準命令供用戶使用,滿足基本功能。
  3. 不支持併發和多道程序運行,不自我運行,需等待操作員輸入命令再運行,故從機器角度,資源利用率低。

三、批處理os(1950s)

  1. 起因:提高SOSC效率,改進其機器需等待人慢動作操作纔可運行的缺點。
  2. 代表機型:第二代通用計算機IBM:1401和7094等。
    解決方案:通過減少人機交互時間而達到CPU和輸入輸出利用率改善。
  3. 過程:程序手工編寫到卡片或紙帶上,交給計算機管理員。管理員按批次給IBM1401讀入並寫到磁帶上。每盤磁帶包含多個用戶程序,再將每盤磁帶加載到IBM7094。運行結果寫在另一磁盤上後,鐮刀IBM1401打印結果。
  4. 構成:批處理監視器(batch monitor)+原os庫函數。其中,批處理監視器控制程序的開始和結束。

批處理監視器:控制程序運行。OS庫函數:支持程序運行。

  1. 優點:此時代開始出現文件概念。

因磁帶上多個用戶程序必須以某種方式隔離,因此抽象出文件概念。此外,os還能管理讀卡機、磁帶、打印機等,

  1. 缺點:只能在同一時間執行一個程序。

四、多道批處理os(1960s)

  1. 起因:批處理os的CPU和I/O設備的運行穿行,CPU需不斷探尋I/O是否完成而不能執行其他程序。
  2. 解決方案:多個程序同時加載到計算機內存。
  3. 功能:管理工作,管理內存,管理CPU調度。
  4. 代表:IBM的OS/360(M)。

五之一:分時os(1970s)

  1. 起因:用戶無法即時獲知程序運行結果,響應時間過長,越來越多的資源管理。
  2. 解決方案:多人同時連在計算機上,每個人看作另一I/O終端;每用戶擁有一終端顯示器,經過RS232穿行線纜與計算機連接,只能接收和發送文本命令和信息。計算機在所有連接的終端用戶間分時,時間到了,就換一個程序。
  3. 優點:資源公平管理【區別於多道批處理】。任意時間可運行多個程序,用戶直接與計算機交互,當場調試程序【特點:人等機器,區別於SOSC】。
  4. 缺點:增加應對競爭、通信、死鎖、保護等問題。
  5. 衍生物:UNIX,CTSS(Compatible Time Sharing System),VMS。
  6. 此os通常運行在第三代計算機PDP、VAX、CRAY上。

五之二:實時os

  1. 起因:如核反應堆狀態監視系統、化學反應堆監視系統、航空飛行控制系統、導彈防衛系統等,要求計算機需在規定時間內做出響應。【此類系統稱爲臨界系統或應用。】
  2. 條件:需滿足時序可預測(timing pre-dictability)。

注意:實時系統並不是指反應迅速的系統,而是反應具有時序可預測性的系統。不過實際中,其反應確實很迅速。

  1. 解決方案:需精確、合理、及時的進程或工作調度。合理的資源管理。具備高的可用性和可靠性。
  2. 分類:軟實時系統,硬實時系統。

軟:可接受部分無法及時響應,如流水線裝配線。
硬:都要及時響應。如導彈防衛系統。

  1. 商用代表:VxWorks,EMS的DART系統。

六、現代OS(1980-至今)

  1. 代表:DOS、Windows、UNIX、Linux,各種主機操作系統,如VM、MVS等。

開放式系統os:DOS、Windows、UNIX、Linux,分別運行在PC機、VAX、Workstation上。

  1. 特徵:網絡促進網絡os和分佈式os的出現 。

網絡os:將多個計算機虛擬成一個計算機。
傳統的網絡os:現有os基礎上增加網絡功能。
分佈式os:外加提供計算機協作功能。

七、未來發展趨勢

  1. 最新SOLARIS將os劃分爲核心內核、可裝入模塊。

核心內核:系統調用、調度、內存管理、進程管理、VFS框架、內核鎖定、始終和計時器、中斷管理、引導和啓動、陷阱管理、CPU管理。
可裝入模塊:調度類、文件系統、可加載系統調用、可執行文件格式、流模塊、設備和總線驅動程序等。

  1. 最新Windows將os劃分爲內核(kernel)+執行體(executive)+視窗+圖形驅動+可裝入模塊。

執行體劃分爲:I/O管理、文件系統緩存、對象管理、熱插拔管理器、能源管理器、安全監視器、虛擬內存、進程與線程、配置管理器、本地過程調用等。

  1. 虛擬化技術——將傳統os提供的一個虛擬機變成多個虛擬機。
    優點:利用閒置計算資源。
  2. 雲os——分佈式os的擴展,是分佈式範圍和從同源到異源的擴展。
    優點:對分散的計算資源進行整合、同化。

八、思考題

  1. 人云:沒有os的計算機是一對廢鐵,無法運轉。但在計算機剛誕生的時候,誰也不知道os這回事。那個時候的計算機爲什麼在沒有os的情況下能夠運轉呢?它們又是如何運轉呢?
  2. os根據其運行的計算機硬件結構不同而分爲主機os、服務器os和個人機os。簡要論述這3種os的關鍵不同點。
  3. MACH所提倡的微內核os因運行效率低下而沒有獲得廣泛的商業應用,其效率低下原因何在?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章