1. 程式人生 > 其它 >記憶體大小,頁表項長度,頁面大小之間的關係

記憶體大小,頁表項長度,頁面大小之間的關係

每個頁表項代表一個頁面的地址,一般很小。 假設記憶體大小是2GB,頁面大小(物理塊)是4KB,頁表項長度是4B。(規定好的) 則整個記憶體可以被劃分成2GB/4KB=512K個頁面。
頁表的長度=頁表項的長度x頁面的個數=4Bx512K=2M。 記憶體中用2M的大小來存放頁表。 頁號是隱藏的,因為頁號是0,1,2,3...n,有規律的遞增數列,所以在頁表其實類似於一維陣列,必須連續儲存,頁號就是下標,資料就是對應的記憶體塊號,只要知道首地址,就可以查到第n塊頁號在記憶體中的位置,進而找到它對應的記憶體塊號
頁表項大小類似於int a[]陣列,每個a[i]中最大為int大小,在計算機中大小為2^32,那麼它的長度是32,長度指的是二級制的位數

頁表項的大小怎麼確定 頁表項是用來存放邏輯頁號 -> 物理塊號的對映的,即查詢該頁在記憶體中的位置。 for example:   32位邏輯空間,位元組為編址單位,一頁是 4KB,總共有 2 32B / 4KB = 1 M 頁 = 220,也就說需要20位才能保證範圍能容納到所有頁面。 又因為以位元組為單位,所以至少是 24位,3B。只是說至少3B,也可以4B,5B...滿足最低要求即可