1. 程式人生 > >基本分頁儲存管理方式中關於邏輯地址和實體地址的轉換

基本分頁儲存管理方式中關於邏輯地址和實體地址的轉換

分析頁式儲存管理的地址結構是一維的,即邏輯地址(或實體地址)只用一個數值即可表示。若給定邏輯地址A,頁面的大小為L,則頁號p和頁內地址d可按照下式求得:

  p=int [A/L]d=A mod L

  其中,int是取整函式(取數值的整數部分),mod是取餘函式(取數值的餘數部分)。


頁表的作用是實現從頁號到物理塊號的地址對映。以邏輯地址的頁號檢索頁表,得到該頁的物理塊號;同時將頁內地址d直接送入實體地址暫存器的塊內地址欄位中。這樣物理塊號和塊內地址拼接成了實際訪問記憶體的地址,從而完成了從邏輯地址到實體地址的轉換。

  所以實體地址的計算公式為:

  實體地址=塊的大小(即頁的大小L)′塊號f+頁內地址d


例題:若在一分頁儲存管理系統中,某作業的頁表如下所示。已知頁面大小為1024位元組,試將邏輯地址1011,2148,4000,5012轉化為相應的實體地址。

頁號

塊號

0

1

2

3

2

3

1

6


解本題中,為了描述方便,設頁號為p,頁內位移為d,則:

  (1)對於邏輯地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查頁表第0頁在第2塊,所以實體地址為1024′2+1011=3059。

  (2)對於邏輯地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查頁表第2頁在第1塊,所以實體地址為1024+100=1124。

  (3)對於邏輯地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查頁表第3頁在第6塊,所以實體地址為1024′6+928=7072。

  (4)對於邏輯地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因頁號超過頁表長度,該邏輯地址非法。