複製鏈接
請複製以下鏈接發送給好友

分配系統資源

鎖定
在一個計算機系統中,通常都含有各種各樣的硬件和軟件資源。歸納起來可將資源分為四類:處理器、存儲器、I/O 設備以及信息(數據和程序) [1]  。分配系統資源是指對計算機軟件資源和硬件資源進行分配。分配系統資源要做到使系統資源得到充分利用和不使系統出現死鎖。
中文名
分配系統資源
外文名
Allocation system resources
學    科
計算機
定    義
對計算機軟件和硬件資源進行分配
目    的
充分利用、不出現死鎖
領    域
計算機系統

分配系統資源簡介

在計算機科學中,系統資源(system resource)意指是一個計算機系統中,限制其運算能力的任何實體或是虛擬的組成元件。任何連結到計算機系統中的裝置,都是一個資源,例如鍵盤、屏幕等。電腦系統內部的任何元件都是資源,如CPU,RAM。計算機系統中的軟件虛擬元件,包括檔案,網絡連線與內存區塊等,都是一種資源。分配系統資源是指對計算機軟件資源和硬件資源進行分配,使系統資源得到充分利用和不使系統出現死鎖。分配系統資源可以分為以下四類:處理機分配、內存分配I/O設備分配。

分配系統資源處理機分配

處理機分配也可以稱之為處理機調度,在多道程序設計系統中,內存中有多道程序運行,他們相互爭奪處理機這一重要的資源。處理機調度就是從就緒隊列中,按照一定的算法選擇一個進程並將處理機分配給它運行,以實現進程併發地執行。在傳統的操作系統中,包括作業調度和進程調度兩步。
(1) 作業調度。作業調度的基本任務是從後備隊列中按照一定的算法,選擇出若干個作業,為它們分配運行所需的資源(首先是分配內存)。在將它們調入內存後,便分別為它們建立進程,使它們都成為可能獲得處理機的就緒進程,並按照一定的算法將它們插入就緒隊列。
(2) 進程調度。 進程調度的任務是從進程的就緒隊列中, 按照一定的算法選出一個進程,把處理機分配給它,併為它設置運行現場,使進程投入執行。值得提出的是,在多線程 OS中,通常是把線程作為獨立運行和分配處理機的基本單位,為此,須把就緒線程排成一個隊列,每次調度時,是從就緒線程隊列中選出一個線程,把處理機分配給它。

分配系統資源內存分配

內存分配的主要任務是為每道程序分配內存空間,使它們“各得其所” ;提高存儲器的利用率,以減少不可用的內存空間;允許正在運行的程序申請附加的內存空間,以適應程序和數據動態增長的需要。
OS 在實現內存分配時,可採取靜態和動態兩種方式。在靜態分配方式中,每個作業的內存空間是在作業裝入時確定的;在作業裝入後的整個運行期間,不允許該作業再申請新的內存空間,也不允許作業在內存中“移動” 。在動態分配方式中,每個作業所要求的基本內存空間也是在裝入時確定的,但允許作業在運行過程中繼續申請新的附加內存空間,以適應程序和數據的動態增長,也允許作業在內存中“移動” 。為了實現內存分配,在內存分配的機制中應具有這樣的結構和功能:
(1) 內存分配數據結構。該結構用於記錄內存空間的使用情況,作為內存分配的依據;
(2) 內存分配功能。系統按照一定的內存分配算法為用户程序分配內存空間;
(3) 內存回收功能。系統對於用户不再需要的內存,通過用户的釋放請求去完成系統的回收功能。

分配系統資源設備分配

設備分配的基本任務是根據用户進程的 I/O 請求、 系統的現有資源情況以及按照某種設備的分配策略,為之分配其所需的設備。如果在 I/O 設備和 CPU 之間還存在着設備控制器和 I/O 通道時,還須為分配出去的設備分配相應的控制器和通道。
為了實現設備分配,系統中應設置設備控制表、控制器控制表等數據結構,用於記錄設備及控制器的標識符和狀態。根據這些表格可以瞭解指定設備當前是否可用,是否忙碌,以供進行設備分配時參考。在進行設備分配時,應針對不同的設備類型而採用不同的設備分配方式。 對於獨佔設備(臨界資源)的分配, 還應考慮到該設備被分配出去後系統是否安全。在設備使用完後,應立即由系統回收。
參考資料
  • 1.    湯小丹.計算機操作系統:西安電子科技大學出版社,2010