操作系統的目標和作用
- 操作系統的目標
在不同的應用環境不一樣,查詢系統中的OS希望有良好的人機交互;工業控制、武器控制等OS要求時效性,普通電腦OS要求操作便捷。
一般目標要求爲:方便性、有效性、可擴充性、開放性。 - 操作系統的作用
1. OS是用戶與硬件之間的接口:用戶通過OS來使用控制自己的硬件替自己工作,是用戶和硬件系統的橋樑。
2. OS是計算機系統資源的管理者:計算機系統的資源大致可分爲四類:處理機、存儲器、IO設備及文件。相應的OS的功能就是管理這四類資源,控制硬件工作,管理文件數據。
3. OS實現了對計算機資源的抽象:例如IO軟件負責對某個具體IO設備的操作,並向上抽取出一組數據結構和一組操作指令, 用戶可以直接利用驅動程序抽象出來的數據結構和操作指令控制IO設備而無需關係具體實現。
操作系統的發展過程
- 未配置操作系統的計算機系統
一開始計算機硬件並沒有操作系統,用人工將事先寫好程序的穿孔紙帶裝入輸入口,啓動計算機運行。後來有了脫機輸入/輸出方式,就是事先把某個程序的所有紙帶裝入紙帶機,由紙帶機把紙帶上的數據輸入到磁帶上,當CPU需要時,再從磁帶調入內存。 - 單道批處理系統
爲實現對作業的連續處理,把一批作業脫機輸入到磁帶,配以監督程序,一個接一個的處理作業。
缺點是:系統資源得不到充分利用,某個作業請求IO時,因爲IO操作慢,CPU處於等待狀態,浪費了時間。 - 多道批處理系統
多道作業交替運行,利用了CPU等待IO操作的時間。
優缺點:資源利用率高;系統吞吐量大;平均週轉時間長,因爲作業要排隊處理,一個作業要等幾個小時或幾天;無交互能力; - 分時系統
分時系統的特徵:多路性、獨立性、及時性、交互性。 - 實時系統
工業(武器)控制系統;信息查詢系統;多媒體系統;嵌入式系統; - 微機操作系統(家用計算機)發展歷程
單用戶單任務操作系統:CP/M、MS-DOS
單用戶多任務操作系統:一個用戶可以把程序分爲多個任務併發執行。
多用戶多任務操作系統:多個用戶可以通過各自的終端使用同一臺計算機系統,共享資源,每個用戶都可以使用多任務併發執行的機制。
操作系統的基本特性
- 併發
區別於並行(同一時刻發生)併發是在同一個時間間隔內發生,計算機引入進程的概念,每個應用程序可以擁有多個進程,多個進程可以併發執行,提高效率。 - 共享
計算機中的共享包含互斥共享方式(某些資源一段時間內只允許同一個進程訪問,如打印機)和同時訪問方式(某些資源允許多個進程併發的訪問,如磁盤文件等)。 - 虛擬
- 異步
指一個進程的執行並不是“一氣呵成”的,在以斷斷續續的方式運行。
操作系統的主要功能
爲多道程序的運行提供良好的運行環境,最大程度的利用計算機硬件資源。此外,傳統OS應當具有處理機管理、存儲器管理、設備管理和文件管理的基本功能,還需要向用戶提供方便的用戶接口。
- 處理機管理功能
包含:進程控制、進程同步、進程通信、調度(作業調度和進程調度)。 - 存儲器管理功能
內存分配:爲不同程序分配內存空間;提高利用率,儘量減少碎片空間;允許動態申請內存空間(靜態分配動態分配並存)。
內存保護:確保每個程序僅在自己的內存中運行,彼此互不干擾;禁止用戶程序訪問操作系統內存;不允許用戶程序轉移到非共享的其他程序內存中。
地址映射:不同程序編譯鏈接之後的地址都從0開始,OS應當提供地址映射功能,將程序的邏輯地址轉換爲實際地址。此功能應當在硬件的支持下完成。
內存擴充:從邏輯上擴充內存容量,實現請求調入功能和置換功能。 - 設備管理功能
完成用戶進程提出的IO請求,爲其分配IO設備,並完成指定的IO操作;提高CPU和IO設備利用率,提高IO速度,方便用戶使用IO設備。
爲實現上述兩個任務,設備管理應具有緩衝分配、設備分配和設備處理以及虛擬設備功能。 - 文件管理功能
文件存儲空間管理、目錄管理、文件的讀寫管理和保護。 - 操作系統和用戶之間的接口
用戶接口:聯機用戶接口、脫機用戶接口、圖形用戶接口。
程序接口:用戶程序在執行中如果需要訪問系統資源,需要通過OS提供的程序接口才能訪問。 - 現代操作系統的新功能
系統安全:認證技術、密碼技術、訪問控制技術、反病毒技術。
網絡功能和服務:網絡通信、資源管理、應用互操作。
支持多媒體:接納控制功能、實時調度、多媒體文件的存儲。
OS結構設計
- 傳統操作系統結構
- 無結構操作系統:沒有結構,是許多過程的集合,可以任意相互調用其他過程。
- 模塊化結構OS:按照功能劃分爲有一定獨立性的模塊。但是由於各模塊共同開發,各個模塊之間的聯繫沒有可靠的基礎,而且設計很難覆蓋所有的實際情況。
- 分層式結構OS:在模塊化的基礎上,把裸機和完成的OS分爲幾個層次,從最底層硬件開始鋪設中間層解決模塊化的缺點。新帶來的缺點是系統效率降低了,需要在每層之間建立通信機制,OS每個功能需要穿越多個層次,增加了系統的通信開銷。
- 客戶/服務器模式
由客戶機、服務器和網絡系統組成。優點是:數據的分佈處理和存儲、便於集中管理、靈活性和可擴充性、易於改編應用軟件。 - 面向對象的程序設計(略)
- 微內核OS結構
微內核操作系統基本概念:足夠小的內核、基於客戶/服務器模式(OS把絕大部分功能都放在內核以外以一組服務器也就是進程的形式提供功能,例如提供進程管理的服務器、提供IO服務的服務器,客戶與服務器之間通過微內核提供的消息傳遞機制來實現信息交互)。
應用“機制與策略分離”原理,採用面向對象技術。
基本功能包含:進程(線程)管理、低級存儲器管理、中斷和陷入處理。
優點:提高系統的可擴展性;增強了系統的可靠性;可移植性強;提供了對分佈式系統的支持;融入了面向對象技術。
缺點:運行效率有所降低,引起了更多的上下文切換。