linux分段分頁機制

2021-07-11 16:42:38 字數 505 閱讀 2217

mmu使用分段單元硬體把邏輯位址轉換為虛擬位址,再使用分頁單元硬體把虛擬位址轉換為實體地址。

因為這兩部分表示乙個獨一無二的邏輯位址,虛擬位址作為這個段位址另一種形式,當然也需要這兩個部分作為轉換的 原材料。

這裡涉及乙個叫做段的暫存器,它的作用是放段選擇符(識別符號),共有六種:

cs:儲存指向**的段的選擇符。

ss:程式棧。

cs:資料。

其他三個任意使用。

這裡再涉及乙個叫做段描述符的概念,它的作用是描述段的特徵。要麼放在全域性描述符表,要麼在區域性的表。

乙個描述符有很多個字段,其中在轉換為虛擬位址的時候只是用第乙個base欄位,它包含段首位元組的線性位址。

列出幾種描述符:

**段描述符(它代表乙個**段),資料段描述符,任務狀態段描述符等。

1,檢查選擇符ti欄位,找到儲存描述符的描述符表。

2,選擇符的index欄位計算描述符位址。

3,把邏輯位址偏移量與描述符base字段值相加得到線性位址。

Linux之分段機制和分頁機制

通用作業系統的設計原則 盡量縮短系統的平均響應時間並提高系統的吞吐率,在單位時間內為盡可能多的為使用者請求提供服務。如對於整個系統來說,注重所有任務的平均響應時間而不關心單個任務的響應時間,對於某個單個任務來說,注重每次執行的平均響應時間而不關心某次特定執行的響應時間。比如記憶體管理中的lru替換策...

記憶體分段與分頁機制

邏輯位址 線性位址 實體地址 8086cpu 作業系統保護模式下的,啟用分頁機制的位址即虛擬位址,實模式下,虛擬位址和邏輯位址相同 物理記憶體劃分 幀 frame 邏輯記憶體劃分 頁 page 位址匯流排 intel早期cpu20位 記憶體1m 286的位址匯流排24位 記憶體64m 386的位址匯...

記憶體的分段 分頁機制

摘錄自 程式設計師的自我修養 1.5節 早期的計算機中,記憶體有限,在執行多個程式時有如下問題 1.位址空間不隔離 程式直接訪問物理記憶體,程式間互相影響 2.記憶體使用效率低 需要將整個程式載入記憶體,程式切換時候,在記憶體和磁碟間交換效率低下 3.程式執行位址不確定 因為直接訪問物理記憶體,使用...