計算機系統中分頁和分段的區別

1.目的

頁是信息的物理單位,分頁是爲實現離散分配方式,以消減內存的外零頭,提高內存的利用率。或者說,分頁是出於系統管理的需要而不是用戶需要。

段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是爲了更好地滿足用戶的需要。

2.長度

頁的大小固定而且由系統決定,由系統把邏輯地址劃分爲頁號和頁內地址兩部分,是由機器硬件實現的,因而在系統中只能有一種大小的頁面。

段的長度不固定,決定於用戶所編寫的程序,通常由編譯程序在對程序進行編譯時,根據信息的性質來劃分。

3.地址空間

頁的地址空間是一維的,即單一的線形地址空間,程序員只要利用一個記憶符就可以表示一個地址。

作業地址空間是二維的,程序員在標識一個地址時,既需要給出段名,又需給出段內地址。

4.碎片

分頁有內部碎片無外部碎片

分段有外部碎片無內部碎片

5.絕對地址

處理器使用頁號和偏移量計算絕對地址

處理器使用段號和偏移量計算絕對地址

6.管理方式

對於分頁,操作系統必須爲每個進程維護一個頁表,以說明每個頁對應的的頁框。當進程運行時,它的所有頁都必須在內存中,除非使用覆蓋技術或虛擬技術,另外操作系統需要維護一個空閒頁框列表。

對於分段,操作系統必須爲每個進程維護一個段表,以說明每個段的加載地址和長度。當進程運行時,它的所有短都必須在內存中,除非使用覆蓋技術或虛擬技術,另外操作系統需要維護一個內存中的空閒的空洞列表。

特別的,當使用虛擬技術是,把一頁或一段寫入內存時可能需要把一頁或幾個段寫入磁盤。

7.共享和動態鏈接

分頁不容易實現,分段容易實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章