儲存管理
儲存管理在作業系統中扮演著重要的角色。它處理使用作業系統在計算機系統中的儲存過程。詳細資訊如下:
記憶體管理
記憶體管理在作業系統中扮演著重要的角色。它處理記憶體以及將程序從磁碟移動到主記憶體以進行執行,然後再移回磁碟的過程。
記憶體管理中最重要的概念是分頁和分段。下面將詳細介紹這些主題:
分頁
在計算機系統中,可以建立比實際可用記憶體(即物理記憶體)更大的虛擬記憶體。為此,使用了分頁的概念。
在分頁中,邏輯地址空間被劃分為頁面,物理地址空間被劃分為幀。頁面和幀的大小相同。程序由頁面數來衡量。
現在,這些頁面透過將頁面儲存到幀中從邏輯地址空間被帶入物理地址空間。建立頁面表以查詢哪個頁面儲存在哪個幀中。
以下示例更清晰地解釋了此概念:
以上示例的解釋如下:
- 邏輯地址為13位。其中前3位表示頁號,其餘位表示頁偏移量。物理地址為12位。其中前2位表示幀號,其餘位表示頁偏移量。
- 頁面和幀的大小為1KW。邏輯地址空間中有8個頁面,物理地址空間中有4個幀。
- 頁面表指定頁面在幀中的位置。它包含8行,每頁一行,這些行的內容是儲存該特定頁面的幀。這稱為頁面表項。
- 例如,在頁面表第7行包含值00。這意味著頁面7儲存在物理地址空間的幀0中。
分段
這是一種支援使用者記憶體檢視的記憶體管理技術。邏輯地址空間被劃分為一組段。這些段具有名稱和記憶體長度。因此,段地址使用其名稱、基地址和長度來指定。
邏輯地址空間中的段如下所示:
虛擬記憶體
虛擬記憶體中最重要的概念是按需分頁和抖動。下面將詳細介紹這些主題:
按需分頁
按需分頁基本上包含帶有交換的分頁。程序的頁面只有在需要時才被調入主記憶體。
按需分頁所需的步驟:
- 檢查頁面需求是針對有效的記憶體訪問還是無效的記憶體訪問。
- 如果引用無效,則終止程序。但是,如果引用有效且頁面在主記憶體中不可用,則將其調入。
- 首先找到一個空閒幀,然後將所需的頁面讀入該幀。
- 然後修改內部頁面表以指示所需的頁面現在在主記憶體中可用。
- 完成所有這些步驟後,程序可以訪問該頁面,就好像它始終在記憶體中可用一樣。
說明按需分頁的圖表:
抖動
當沒有足夠的幀供程序使用時,就會發生抖動。假設主記憶體中的程序的所有頁面都處於活動狀態。如果它需要來自輔助儲存器的另一個頁面,則需要替換一個頁面。但是,被替換的頁面也處於活動狀態,它透過替換另一個頁面又被調回記憶體。因此,如果系統中進行的分頁多於處理,則發生了抖動。
抖動會導致系統的許多效能問題。消除抖動的一種方法是減少系統的多道程式設計程度。另一種方法是使用工作集模型。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP