《操做系統——精髓與設計原理》學習筆記 第二章
系列文章目錄
《操做系統——精髓與設計原理》學習筆記 第一章
《操做系統——精髓與設計原理》學習筆記 第二章
程序員
2.1 操做系統的目標和功能
操做系統是控制應用程序的程序,是應用程序和計算機硬件間的接口,有三個主要目標:編程
- 方便:操做系統是計算機更易於使用
- 有效:操做系統容許一更有效的方式使用計算機系統資源
- 擴展能力:在構造操做系統時,應容許在不妨礙服務的前提下,有效地開發、測試和引入新的系統功能
2.1.1 做爲用戶/計算機接口的操做系統
簡單來講,操做系統提供了一系列程序員在開發應用程序時須要使用的一些功能的接口;它做爲一箇中介,讓程序員和應用程序更容易地訪問與使用如下的功能和服務。學習
- 程序開發
- 程序運行
- I/O設備訪問
- 文件訪問控制
- 系統訪問
- 錯誤檢測和響應
- 記帳
- 指令系統體系結構(ISA)
- 應用程序二進制接口(ABI)
- 應用程序編程接口(API)
2.1.2 做爲資源管理器地操做系統
一臺計算機就是一組資源,並對這些資源進行控制,操做系統就是負責管理這些資源。測試
操做系統從某個角度來講是在控制數據的移動、存儲和處理,可是這種控制倒是以一種不尋常的方式實施的。與傳統的控制機制的不一樣體如今如下兩點:spa
- 操做系統與普通計算機軟件的做用相同,即他也是有處理器執行的一段或一組程序
- 操做系統常常會釋放控制,並且必須依賴處理器才能恢復控制
2.1.3 操做系統的易擴展性
操做系統應該可以不斷地發展,緣由以下:操作系統
- 硬件升級和新型硬件的出現
- 新的服務
- 糾正錯誤
2.2 操做系統的發展史
瞭解操做系統的發展史,既有助於理解操做系統的關鍵性設計需求,又有助於理解現代操做系統基本特徵的意義。.net
2.2.1 串行處理
早期的計算機是採用串行處理的方式,但這種處理方式有如下兩個缺點:設計
- 調度問題:大多數裝置會預約機器的時間,若是一個程序預約了一個小時可是45分鐘就完成了工做,那麼剩下的時間就會被浪費;若是在預約時間內沒有完成工做,則會被強制中止。
- 準備時間:程序運行前的準備時間很長,若是準備過程出現錯誤則須要從新開始準備。
2.2.2 簡單批處理系統
爲了提升利用率,人們開始開發批處理系統,它的中心思想是使用一個稱爲監控程序的軟件。經過使用這個操做系統,用戶能夠把卡片或磁帶中的做業交給計算機操做員,由操做員把做業按順序組織成批,並將整個批做業放在輸入設備上,供監控程序使用。每一個程序完成處理後返回到監控程序,同時監控程序自動加載下一個程序。blog