1. 程式人生 > >操作系統的主要功能

操作系統的主要功能

通信 justify 管道 轉移 內存碎片 附加 基本 協調 消息隊列

處理機管理功能

處理機的分配和運行都是以進程為基本單位,因此對處理機的管理就是對進程的管理,主要功能有:創建和撤銷進程,對進程的運行進行協調,實現進程間的信息交換,按照一定的算法把處理機分配給進程。

進程控制

為每個作業創建進程,撤銷已結束的進程,以及控制進程在運行過程中的狀態轉換。

進程同步

為多個進程的運行進行協調,有兩種方式,進程互斥方式,指諸進程在對臨界資源進行訪問時使用該方式;進程同步方式,在相互合作完成共同的任務的進程間,由同步機制對他們的執行次序加以協調。做常見實現進程互斥的方式是為每個臨界資源配置一把鎖W,當鎖打開時,進程可以對該臨界資源進行訪問,關上鎖時,禁止進程訪問該臨界資源。時間進程同步的方式最常見的就是信號量機制等。

進程通信

當合作的進程處於同一計算機系統時,可以使用直接通信方式,由源進程利用發送命令直接將消息掛到目標進程的消息隊列上,由目標進程利用接收命令從消息隊列中提取消息。通信方式有5中,管道,信號量,套接字,共享內存,消息隊列。

調度

包括進程調度和作業調度。作業調度的基本任務是從後備隊裏中按照一定的算法選擇若幹個作業,為其分配運行所需的資源,將這些作業加載在內存之後,並為每個作業創建進程,使其成為都成為可能獲得處理機的就緒進程,將其插入到就緒隊列中。進程調度的任務是從進程就緒隊列中按照一定的算法選出一個進程,將處理機分配給它,並為其設置運行現場,使其投入執行。

存儲器管理功能

為多道程序提供良好的運行環境,提高存儲器的利用率,並能從邏輯上擴充內存,具有內存分配和回收、內存保護、地址映射和內存擴充等功能。

內存分配

主要任務是:為每道程序分配存儲空間,使其各得其所;提高存儲器的利用率,減少內存碎片;允許正在運行的程序申請附加的內存空間,適應程序和數據的增長需求。

有兩種內存分配方式:靜態分配方式,每個作業的內存空間是在作業裝入時確定的,在裝入後的運行期間是不允許該作業再申請新的內存空間,也不允許作業再內存中移動;動態分配方式,每個作業的所要求的基本空間是在裝入時確定的,但允許在運行過程中繼續申請新的內存,也允許作業在內存中移動。

內存保護

主要任務是:確保每道用戶程序都在自己的內存空間運行,彼此互相不幹擾;絕不允許用戶程序訪問操作系統的程序和數據;不允許用戶程序轉移到非共享的其他用戶程序中去執行。

最簡單的內存保護機制就是設置兩個界限寄存器,分別用於存放正在執行程序的上屆和下界。在程序運行時,系統須對每條指令所要訪問的地址進行檢查,如果發生越界,便中斷越界的指令請求,停止該程序的執行。

地址映射

完成地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址。

內存擴充

借助於虛擬內存技術,從邏輯上擴充內存的容量。

操作系統的主要功能