一 分段機制
1、什麼是分段機制
分段機制就是把虛拟位址空間中的虛拟記憶體組織成一些長度可變的稱為段的記憶體塊單元。
2、什麼是段
每個段由三個參數定義:段基位址、段限長和段屬性。
段的基位址、段限長以及段的保護屬性存儲在一個稱為段描述符的結構項中。
3、段的作用
段可以用來存放程式的代碼、資料和堆棧,或者用來存放系統資料結構。
4、段的存儲位址
系統中所有使用的段都包含在處理器線性位址空間中。
5、段選擇符
邏輯位址包括一個段選擇符或一個偏移量,段選擇符是一個段的唯一辨別,提供了段描述符表,段描述符表指明短的大小、通路權限和段的特權級、段 類型以及段的第一個位元組線上性位址空間中的位置(稱為段的基位址)。邏輯位址的偏移量部分到段的基位址上就可以定位段中某個位元組的位置。是以基位址加上偏 移量就形成了處理器線性位址空間中的位址。
6 邏輯位址到線性位址的變換過程
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcukTOxgDNzkjM3ETMy8CXxADNxAjMvwlM3MTNyUzLcd2bsJ2Lc12bj5yZvxmY0lmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
如果沒有開啟分頁,那麼處理器直接把線性位址映射到實體位址,即線性位址被送到處理器位址總線上;如果對線性位址空間進行了分頁處理,那麼就會使用二級位址轉換把線性位址轉換成實體位址。
7、虛拟位址到實體位址的變換過程
二 分頁機制
1、什麼是分頁機制
分頁機制在段機制之後進行的,它進一步将線性位址轉換為實體位址。
2、分頁機制的存儲
分頁機制支援虛拟存儲技術,在使用虛拟存儲的環境中,大容量的線性位址空間需要使用小塊的實體記憶體(RAM或ROM)以及某些外部存儲空間來 模拟。當使用分頁時,每個段被劃分成頁面(通常每頁為4K大小),頁面會被存儲于實體記憶體中或硬碟中。作業系統通過維護一個頁目錄和一些頁表來留意這些頁 面。當程式(或任務)試圖通路線性位址空間中的一個位址位置時,處理器就會使用頁目錄和頁表把線性位址轉換成一個實體位址,然後在該記憶體位置上執行所要求 的操作。
3、線性位址和實體位址之間的變換過程
三 分段機制和分頁機制的差別
1、分頁機制會使用大小固定的記憶體塊,而分段管理則使用了大小可變的塊來管理記憶體。
2、分頁使用固定大小的塊更為适合管理實體記憶體,分段機制使用大小可變的塊更适合處理複雜系統的邏輯分區。
3、段表存儲線上性位址空間,而頁表則儲存在實體位址空間。
本文轉自 菜鳥養成記 51CTO部落格,原文連結:http://blog.51cto.com/11674570/1839940