分段和分页区别
分頁存儲管理
用戶程序的地址空間被劃分成若干固定大小的區域,稱為“頁”,相應地,內存空間分成若干個物理塊,頁和塊的大小相等。可將用戶程序的任一頁放在內存的任一塊中,實現了離散分配。為了能在內存中找到每個頁面對應的物理塊,系統為每個進程建立一張頁表,用于記錄進程邏輯頁面與內存物理頁面之間的對應關系。頁表的作用是實現從頁號到物理塊號的地址映射,地址空間有多少頁,該頁表里就登記多少行,且按邏輯頁的順序排列。
分段存儲管理
作業的地址空間被劃分為若干個段,每個段定義了一組邏輯信息。每個段都有自己的名字,每個段都從0開始編址,并采用一段連續的地址空間。段的長度由相應的邏輯信息組的長度決定,因而各段長度不等。整個作業的地址空間由于是分成多個段,其邏輯地址由段號(段名)和段內地址所組成
分頁和分段的區別:
共同點:兩者都采用離散分配方式,且都地址映射機構來實現地址的轉換 ? ?
不同點:
1:頁是信息的物理單位采用分頁存儲管理方式是為了實現離散分配方法。提高內存的利用率,采用分段目的主要在于能更好的滿足用戶的需求
2:頁的大小固定且有系統決定,在采用分頁存儲管理方式中直接由硬件實現。而段的大小不固定,決定于用戶所編寫的程序
3:分頁的地址空間是一維的,分頁完全是系統完全是行為,分段系統中是二維的。
段頁式存儲管理方式
基本原理是分段和分頁相結合,其地址結構由:段號、段內頁號、頁內地址三部分組成。在段頁式系統中獲得一條指令需要三次訪問內存,第一次訪問內存中的段表,第二次訪問內存中的頁表,第三次訪問內存中的數據。
?
MMU,全稱內存管理單元,一般是CPU里的硬件電路,也可單獨集成電路,主要功能是把虛擬地址轉換為物理地址。通過段機制和頁機制完成轉換。MMU可以完成地址轉換,通過建立頁表,把虛擬地址通過頁表查找,得到最終的物理地址。例如,當需要訪問內存中的一個數據,通過這個數據的虛擬地址查找頁表,一旦在頁表中找到(hit),就通過找到的物理地址尋址到內存中的數據。如果頁表中沒有找到(miss),表示頁表中沒有建立這個數據虛擬地址到物理地址的映射,通過缺頁異常,建立這個頁表映射項
總結