作業系統 分頁儲存管理中邏輯位址轉換為實體地址

2022-07-13 02:57:10 字數 1695 閱讀 8148

【例1】考慮乙個由8個頁面,每頁有1024個位元組組成的邏輯空間,把它裝入到有32個物理塊的儲存器中,問:

(1)邏輯位址需要多少二進位制位表示?

(2)實體地址需要多少二進位制位表示?

它由兩個部分組成:前一部分表示該位址所在頁面的頁號p;後一部分表示頁內位址(頁內位移)d。頁號的位址位數決定了頁的多少,假設頁號有20位,則位址空間中最多可容納的頁面數為220,即1mb個頁面。頁內位址位數確定了每頁的大小,若頁內位址為12位,則每頁大小為212,即2kb。

同理,實體地址中塊號的位址位數決定了塊的數量。由於頁式儲存管理記憶體空間塊的大小與頁面大小相同,所以實體地址中塊內位址與邏輯位址中的頁內位址位數相同。

解因為頁面數為8=23,故需要3位二進位制數表示。每頁有1024個位元組,1024=210,於是頁內位址需要10位二進位制數表示。32個物理塊,需要5位二進位制數表示(32=25)。

(1)頁的邏輯位址由頁號和頁內位址組成,所以需要3+10=13位二進位制數表示。

(2)頁的實體地址由塊號和頁內位址的拼接,所以需要5+10=15位二進位制數表示。

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

頁號塊號

p=int [a/l]d=a mod l

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

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

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

解本題中,為了描述方便,設頁號為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。因頁號超過頁表長度,該邏輯位址非法。

【例3】某虛擬儲存器的使用者程式設計空間共32個頁面,每頁為1kb,記憶體為16kb。假定某時刻一使用者頁表中已調入記憶體的頁面的頁號和物理塊號的對照表如下:

頁號物理塊號

則邏輯位址0a5c(h)所對應的實體地址是什麼?

由已知條件「使用者程式設計空間共32個頁面」,可知頁號部分佔5位;由「每頁為1kb」,1k=210,可知內頁位址佔10位。由「記憶體為16kb」,可知有16塊,塊號為4位。

邏輯位址0a5c(h)所對應的二進位制表示形式是:000 1010 0101 1100,根據上面的分析,下劃線部分為頁內位址,編碼「000 10」為頁號,表示該邏輯位址對應的頁號為2。查頁表,得到物理塊號是4(十進位制),即物理塊位址為:01 00 ,拼接塊內位址10 0101 1100,得01 0010 0101 1100,即125c(h)。

解邏輯位址0a5c(h)所對應的實體地址是125c(h)。

作業系統13 儲存器管理之分頁儲存

四.位址變換機構 五.訪問記憶體的有效時間 六.兩級和多級頁表 七.反置頁表 八.參考資料 連續儲存會產生許多的 碎片 雖然 緊湊 方法可以將許多碎片拼接可以的大塊空間,但需為之很大的開銷。如果允許將乙個程序直接分散的裝入到許多不相鄰的分割槽中,便可以充分利用記憶體空間。基於這一思想,產生了離散分配...

作業系統 記憶體管理中的分頁儲存管理方式

湯小丹等,作業系統 將使用者程式的位址空間分為若干個固定大小的區域,即頁面。將整個記憶體空間也劃分為若干個固定大小的區域,這裡的大小與頁面的大小一致,稱為物理塊。通過上述的空間劃分結構,使用者程式的任一頁面都可通過離散分配的方式裝入記憶體空間中的某一物理塊。為了記錄這一對映關係,設定了乙個專門的資料...

作業系統分頁分段小筆記

以前看分頁分段時記得筆記,今天無意翻出來發現記得還挺好的,雖然當時貌似看的不怎麼懂,部落格發下 分段機制 cs,ds,es,fs,gs,ss 段選擇器 高13位表示索引 從0開始 第二位 ti 0在gdt中,ti 1在ldt中 0,1位表示程式的當前優先順序rpl gdtr 全域性描述符表暫存器 4...