從資源管理觀點看,操作系統具有五大功能
- 處理機管理
- 存儲器管理
- 設備管理
- 文件管理
- 操作系統與用戶之間的接口
一、處理機管理功能
處理機的分配和運行都是以進程為基本單位的
- 進程控制——創建和撤銷進程;創建進程
- 進程同步——對多個進程的運行進行協調。協調方式有:進程互斥方式和進程同步方式
- 進程通信——實現進程之間的信息交換
- 調 度——可以按照一定的算法將處理機分配給各個進程。包括作業調度和進程調度
進程通信
當一組相互合作的進程去完成一個共同的任務時,它們之間需要交換信息。例一個程序的輸入進程、計算進程和打印進程三個進程間的通信過程:
進程間通信示意圖如下圖:
總結:在輸入進程、計算進程和打印進程三者之間都發生的數據的交換,因而在這三者之間就有了種通信。
進程通信的任務是實現相互合作進程之間的信息交換。當相互合作的進程處於同一計算機系統時,通常采用直接通信方式。
二、存儲器管理
- 主要任務:為多道程序的運行提供良好的環境,方便用戶使用存儲器,提高存儲器的利用率以及可以為這些程序從邏輯上擴充內存。
-
主要功能:內存分配、內存保護、地址映射和內存擴充。
1、內存分配
主要任務:
- 為每道程序分配內存空間
- 提高存儲器的利用率,減少碎片
- 允許正在運行的程序申請附加的內存空間
內存分配方式:
(1)靜態分配方式
在靜態分配方式中,每個作業的內存空間是在作業裝入時確定的;在作業裝入后的整個運行期間, 不允許該作業再申請新的內存空間,也不允許作業在內存中“移動”;
(2)動態分配方式
在動態分配方式中,每個作業所要求的基本內存空間, 也是在裝入時確定的,但允許作業在運行過程中,繼續申請新的附加內存空間,以適應程序和數據的動態增漲,也允許作業在內存中“移動”。
2、內存保護
內存保護的主要任務:
(1)確保每道用戶程序都只在自己的內存空間內運行,彼此互不干擾。
設置兩個界限寄存器,分別用於存放正在執行程序的上界和下界。一旦越界,停止執行。
(2)絕不允許用戶程序訪問操作系統的程序和數據
3、地址映射
一個應用程序(源程序)經編譯后,通常會形成若干個目標程序;這些目標程序再經過鏈接便形成了可裝入程序。
在多道程序環境下,每道程序不可能都從“0”地址開始裝入(內存), 這就致使地址空間內的邏輯地址和內存空間中的物理地址不相一致。使程序能正確運行,存儲器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址。該功能應在硬件的支持下完成。
4、內存擴充
存儲器管理中的內存擴充任務借助於虛擬存儲技術,從邏輯上去擴充內存容量,使用戶所感覺到的內存容量比實際內存容量大得多;或者是讓更多的用戶程序能並發運行。這樣,既滿足了用戶的需要,改善了系統的性能,又基本上不增加硬件投資。
為了能在邏輯上擴充內存,系統必須具有內存擴充機制, 用於實現下述各功能:
- 請求調入功能
- 置換功能
三、設備管理功能
主要任務:
-
完成用戶進程提出的I/O請求;為用戶進程分配其所需的I/O設備;
- 提高CPU和I/O設備的利用率;提高I/O速度;方便用戶使用I/O設備。
為此,設備管理應具有緩沖管理、設備分配和設備處理等功能。
1、緩沖管理
CPU運行的高速性和I/O低速性間的矛盾自計算機誕生時起便已存在。如果在I/O設備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設備速度不匹配的矛盾,提高CPU的利用率,進而提高系統吞吐量。因此,在現代計算機系統中, 都毫無例外地在內存中設置了緩沖區,而且還可通過增加緩沖區容量的方法,來改善系統的性能。
2、設備分配
設備分配的基本任務,是根據用戶進程的I/O請求、系統的現有資源情況以及按照某種設備分配策略,為之分配其所需的設備。如果在I/O設備和CPU之間,還存在着設備控制器和I/O通道時,還須為分配出去的設備分配相應的控制器和通道。
3、設備處理
設備處理程序又稱為設備驅動程序。基本任務是用於實現CPU和設備控制器之間的通信,即由CPU向設備控制器發出I/O命令,要求它完成指定的I/O操作;反之由CPU接收從控制器發來的中斷請求,並給予迅速的響應和相應的處理。
處理過程是:設備處理程序首先檢查I/O請求的合法性,了解設備狀態是否是空閑的,了解有關的傳遞參數及設置設備的工作方式。然后,便向設備控制器發出I/O命令,啟動I/O設備去完成指定的I/O操作。
四、文件管理功能
文件管理的主要任務是對用戶文件和系統文件進行管理以方便用戶使用,並保證文件的安全性。
文件管理應具有對文件存儲空間的管理、目錄管理、文件的讀/寫管理以及文件的共享與保護等功能。
1、文件存儲空間的管理
由文件系統對諸多文件及文件的存儲空間,實施統一的管理。其主要任務是為每個文件分配必要的外存空間,提高外存的利用率,並能有助於提高文件系統的運行速度。
2、目錄管理
目錄管理的主要任務,是為每個文件建立其目錄項,並對眾多的目錄項加以有效的組織,以實現方便的按名存取。
通常由系統為每個文件建立一個目錄項。目錄項包括文件名、文件屬性、文件在磁盤上的物理位置等。由若干個目錄項又可構成一個目錄文件。即用戶只須提供文件名, 即可對該文件進行存取。
3、文件的讀/寫管理和保護
- 文件的讀/寫管理
文件的讀/寫管理。該功能是根據用戶的請求,從外存中讀取數據;或將數據寫入外存。由於讀和寫操作不會同時進行,故可合用一個讀/寫指針。
- 文件保護
-
防止未經核准的用戶存取文件;
- 防止冒名頂替存取文件;
-
防止以不正確的方式使用文件。
五、操作系統與用戶的接口
接口
是指掩蓋軟件內部功能的實現細節,並向外提供一些使用的約定,用戶不必知道軟件內部是如何設計和實現的,只要能夠利用這種軟件提供給用戶的一些命令和窗口會操作這種軟件以幫助用戶解決問題即可。
操作系統提供兩類接口
- 用戶接口
- 程序接口
1、用戶接口
為了方便用戶控制自己的作業,操作系統提供了命令接口,該接口又分為聯機用戶接口、脫機用戶接口和圖形用戶接口3種。
(1)聯機用戶接口
這是為聯機用戶提供的,它由一組鍵盤操作命令及命令解釋程序所組成。用戶可通過先后鍵入不同命令的方式,來實現對作業的控制,直至作業完成。
(2)脫機用戶接口
該接口是為批處理作業的用戶提供的,故也稱為批處理用戶接口。
(3)圖形用戶接口
采用圖形化操作界面。
2、程序接口
該接口是為用戶程序在執行中訪問系統資源而設置的,是用戶程序取得操作系統服務的惟一途徑。
它是由一組系統調用組成,每一個系統調用都是一個能完成特定功能的子程序,每當應用程序要求OS提供某種服務(功能)時,便調用具有相應功能的系統調用。