作業系統的主要功能
1.處理機管理功能(程序管理):
(1)程序控制:為作業建立程序、撤銷(終止)已結束的程序,控制程序在運作過程中的狀态轉換。
(2)程序同步:為了使多程序同時運作時協調,有兩種方式
- 程序互斥方式:程序在對臨界資源進行通路時,應采用互斥方式。(臨界資源加鎖實作,關鎖時禁止通路;鎖開時允許通路。)
- 程序同步方式:互相合作去完成共同任務的程序間,由同步機構對他們的執行次序加以協調。(信号量機制)
(3)程序通信:實作互相合作程序之間的資訊交換。
(4)排程:
- 作業排程:從後備隊列中按照一定算法選擇出若幹個作業,為他們配置設定運作所需資源,講作業調入記憶體後,分别建立與之對應的程序,使它們成為可能獲得處理機的就緒程序,并将他們插入就緒隊列中。
- 程序排程:從程序就緒隊列中按照一定算法選出一個程序,将處理機配置設定給他,并為他設定運作現場,使其投入執行。
2.記憶體管理功能:
1、記憶體配置設定
(1)作用:為每道程式配置設定記憶體空間;提高存儲器使用率,盡量減少記憶體空間碎片。
(2)兩種記憶體配置設定方式:
- 動态記憶體配置設定:每個作業所要求的基本記憶體空間也是在裝入時确定的,但允許作業在運作過程中繼續申請新的附加記憶體空間,以适應程式和資料的動态增長,也允許作業在記憶體中“移動”。
-
靜态記憶體配置設定:每個作業的記憶體空間是在作業裝入時确定的;在作業裝入後的整個運作期間,不允許該作業再申請新的記憶體空間,也不允許作業在記憶體中“移動”。
(3)記憶體配置設定機制應具有的結構和功能:記憶體配置設定資料結構、記憶體配置設定功能、記憶體回收功能。
2、記憶體保護
(1)主要作用:確定每道使用者程式都隻在自己的記憶體空間内運作,彼此互不幹擾;絕不允許使用者程式通路作業系統的程式和資料;也不允許使用者程式轉移到非共享的其它使用者程式中去執行。
(2)記憶體保護機制:設定兩個界限寄存器,分别用于存放正在執行程式的上界和下界。系統對每條指令所要通路的位址進行檢查,如果發生越界,産生越界中斷請求,停止該程式的執行。
3、位址映射
程式的邏輯位址通常從0開始,而實體位址不從0開始,是以需要一個映射轉換過程。
4、記憶體擴充
(1)借助于虛拟存儲技術,從邏輯上去擴充記憶體容量。
(2)為了能在邏輯上擴充記憶體,系統必須具有記憶體擴充機制,用于實作下述各功能:
- 請求調入功能:允許在裝入一部分使用者程式和資料的情況下,便能啟動該程式運作。在程式運作過程中,若發現要繼續運作時所需的程式和資料尚未裝入記憶體,可向 OS 送出請求,由 OS 從磁盤中将所需部分調入記憶體,以便繼續運作。
- 置換功能:若發現在記憶體中已無足夠的空間來裝入需要調入的程式和資料時,系統應能将記憶體中的一部分暫時不用的程式和資料調至盤上,以騰出記憶體空間,然後再将所需調入的部分裝入記憶體。
3.裝置管理功能:
主要任務:
- 完成使用者程序提出的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操作。
4.檔案管理功能:
檔案管理的主要任務是對使用者檔案和系統檔案進行管理以友善使用者使用,并保證檔案的安全性。
為此,檔案管理應具有對檔案存儲空間的管理、目錄管理、檔案的讀/寫管理以及檔案的共享與保護等功能。
1、檔案存儲空間的管理
由檔案系統對諸多檔案及檔案的存儲空間,實施統一的管理。其主要任務是為每個檔案配置設定必要的外存空間,提高外存的使用率,進而提高檔案系統的存、取速度。
為此,系統中應設定用于記錄檔案存儲空間使用情況的資料結構,以供配置設定存儲空間時參考,還應具備對存儲空間進行配置設定和回收的功能。
2、目錄管理
目錄管理的主要任務,是為每個檔案建立一個目錄項,并對衆多的目錄項加以有效的組織,以實作友善的按名存取。
通常由系統為每個檔案建立一個目錄項。目錄項包括檔案名、檔案屬性、檔案在磁盤上的實體位置等。由若幹個目錄項又可構成一個目錄檔案。即使用者隻須提供檔案名, 即可對該檔案進行存取。
3、檔案的讀/寫管理和保護
(1)檔案的讀/寫管理:該功能是根據使用者的請求,從外存中讀取資料;或将資料寫入外存。由于讀和寫操作不會同時進行,故可合用一個讀/寫指針。
(2)檔案保護:防止未經核準的使用者存取檔案;防止冒名頂替存取檔案;防止以不正确的方式使用檔案。
5.作業系統與使用者之間的接口:
接口是指掩蓋軟體内部功能的實作細節,并向外提供一些使用的約定,使用者不必知道軟體内部是如何設計和實作的,隻要能夠利用這種軟體提供給使用者的一些指令和視窗會操作這種軟體以幫助使用者解決問題即可。
1、使用者接口
為了友善使用者控制自己的作業,作業系統提供了指令接口,該接口又分為聯機使用者接口、脫機使用者接口和圖形使用者接口3種。
(1)聯機使用者接口:這是為聯機使用者提供的,它由一組鍵盤操作指令及指令解釋程式所組成。使用者可通過先後鍵入不同指令的方式,來實作對作業的控制,直至作業完成。
(2)脫機使用者接口:該接口是為批處理作業的使用者提供的,故也稱為批處理使用者接口。
(3)圖形使用者接口:采用圖形化操作界面。
2、程式接口
該接口是為使用者程式在執行中通路系統資源而設定的,是使用者程式取得作業系統服務的唯一途徑。
它是由一組系統調用組成,每一個系統調用都是一個能完成特定功能的子程式,每當應用程式要求OS提供某種服務(功能)時,便調用具有相應功能的系統調用。