2.1操作系統(tǒng)的目標和功能
操作系統(tǒng)提供以下幾方面的服務
- 程序開發(fā)
擦做系統(tǒng)提供各種各樣的工具和服務。幫助程序員開發(fā)程序。
這些服務以實用工具的形式出現(xiàn),嚴格來說并不屬于操作系統(tǒng)信息的一部分,它們有操作系統(tǒng)提供,稱為應用程序開發(fā)工具。 - 程序運行
操作系統(tǒng)為用戶處理程序運行的操作 - IO設備訪問
操作系統(tǒng)移隱藏OI設備特有的指令集和控制信號,并提供統(tǒng)一的機構,程序員員可以使用簡單的讀寫操作來訪問這些設備。 - 文件訪問控制
- 系統(tǒng)訪問
訪問功能模塊必須提供對資源和數(shù)據(jù)的保護,避免未授權的用戶訪問,同時解決資源競爭時的沖突問題 - 錯誤檢測和響應
計算機系統(tǒng)運行時可能發(fā)生各種錯誤,包括內部和外部硬件錯誤,如存儲器錯誤,設備失敗或故障,以及各種軟件錯誤如算數(shù)移除,越界訪問,錯做系統(tǒng)無法滿足應用程序的請求等。 - 記賬
操作系統(tǒng)手機各種資源的利用率統(tǒng)計數(shù)據(jù)。
典型計算機系統(tǒng)中的三個重要的接口:
- 指令系統(tǒng)體系結構(ISA)
定義計算機遵循的機器語言指令系統(tǒng),匯編 - 應用程序二進制接口(ABI)
定義程序間二進制可移植性的標準。
定義了操作系統(tǒng)的系統(tǒng)調用接口 - 應用程序編程接口(API)
API云心應程序訪問系統(tǒng)的硬件資源和服務,這些服務有用戶級ISA和高級語言(HLL)庫提供。
使用API能讓軟件更容易通過重新編譯移植到其他具有相同API的系統(tǒng)中
2.2操作系統(tǒng)發(fā)展
2.2.1串行處理
程序員直接與計算機硬件打交道,沒有操作系統(tǒng),這些機器都是在一個控制臺上運行。
2.2.2簡單批處理系統(tǒng)
也稱為批處理操作系統(tǒng)
簡單批處理方案的中心思想是使用一個成為監(jiān)控程序的軟件,通過使用這類操作系統(tǒng),用戶不能直接訪問機器。用于吧磁帶或卡片中的作業(yè)提交給計算機操作員,計算機操作員把作業(yè)按順序組織成一匹,然后放到輸入設備上,供監(jiān)控程序使用。程序完成處理后返回到監(jiān)控程序。然后監(jiān)控程序自動加載下一個程序。
- 監(jiān)控程序角度
監(jiān)控程序控制實物的順序,大多監(jiān)控程序總是存于內存中可移植性,成為常駐監(jiān)控程序。其他部分包括實用程序和公共函數(shù),他們作為用戶程序的子程序,在需要到他們作業(yè)開始執(zhí)行時被載入。
監(jiān)控程序從輸入設備讀取一個作業(yè)。讀入后作業(yè)唄防止在用戶程序區(qū)域。然后把控制權交給這個作業(yè)。當作業(yè)完成后,它將控制權返回給監(jiān)控程序,然后處理下一個作業(yè)。作業(yè)的結果發(fā)送到輸出設備。 - 處理器角度
監(jiān)控程序完成調度功能,一批作業(yè)排隊等候,處理器盡可能迅速的執(zhí)行作業(yè),沒有任何空閑時間。
監(jiān)控程序還考慮了其他功能:
- 內存保護
當用戶程序正在運行時,不能改變含監(jiān)控程序的內存區(qū)域。如果用戶程序訪問監(jiān)控 程序的內存區(qū)域,處理器將發(fā)現(xiàn)錯誤,并將控制權轉一個監(jiān)控程序。停止作業(yè),輸出錯誤信息,加載下一個作業(yè)。 - 定時器
防止一個作業(yè)獨占系統(tǒng)。在作業(yè)開始時,設置定時器,如果定時器時間到,用戶程序背挺直,監(jiān)控權返回給監(jiān)控程序 - 特權指令
某些計算機指令是設計成為特權指令,只能由監(jiān)控程序執(zhí)行。
如果處理器運行在用戶程序時遇到這類指令就會發(fā)生錯誤,并將控制權轉一個監(jiān)控程序。
IO指令屬于特權指令,因此監(jiān)控程序可以控制所有IO設備。 - 中斷
早起計算機模型沒有中斷能力,這個特征使操作系統(tǒng)讓用戶程序放棄控制權,或從用戶程序獲得控制權具有更大的靈活性
2.2.3多道批處理系統(tǒng)
對于簡單批處理操作系統(tǒng),由于要等待IO所以處理器任然是進場空閑的。
當內存空間容得下操作系統(tǒng) 和兩個用戶程序時,當一個作業(yè)需要IO時,處理器可以切換到另一個可能不需要等待IO的作業(yè)。進一步的存儲器可以保存更多的作業(yè)。這種處理成為多道程序設計或多任務處理,是現(xiàn)代操作系統(tǒng)的主要方案。
多道程序設計有用的顯式輔助功能是支持IO中斷和直接存儲器訪問(DMA)的硬件。
當多個作業(yè)都準備運行時,處理器必須準備運行哪一個,這就需要調度算法。
2.2.4分時系統(tǒng)
當需要處理多個交互作業(yè)時,由于多個用戶分享處理時間,因而該技術成為分時。
分時系統(tǒng)中,多個用戶通過終端同時訪問系統(tǒng),每個用戶程序以很短的時間為單位進行交替執(zhí)行。因此如果有n個用戶同時請求服務,程序評分計算機的有效速度。
2.3操作系統(tǒng)中重要概念
進程,內存管理,信息保護和安全,調度和資源管理
2.3.1進程
進程式操作系統(tǒng)設計的核心