作業系統
頁式儲存
頁
塊
邏輯位址
實體地址
塊號
頁號
以下這些概念在剛開始學的時候簡直要逼瘋我了,因為不同書籍不同作者就會有不同的叫法,比如說頁內位址有叫頁偏移的,塊有叫頁框的。。。反正各種不爽。如果你也有這種狀況,那不好意思,我先得說明一下,你還是適應一下我的叫法。因為這篇文章我說了算~~~~(有沒有很霸氣)
注意頁和塊的物件的不同
對程式進行分頁儲存
對記憶體進行分塊儲存
文章最後會給出我總結的頁和塊的關係
邏輯位址和實體地址
a)邏輯位址
設邏輯位址由總長度為m的二進位制數表示,頁內位址為n位,則頁號為m-n位。
注意:b)實體地址
實體地址 = 塊號 * 塊長 + 塊內位址 +(使用者基址)實體地址 = 塊號 * 頁長 + 頁內位址 +(使用者基址)
例題
頁內位址 = 邏輯位址%頁長(餘數)
我們可以知道邏輯位址 = 頁號 * 頁長 + 頁內位址,所以頁長 = (邏輯位址 - 頁內位址)/頁號.
解:
塊長=頁長=(4865-769)/2=2048,又 塊內位址=頁內位址,故實體地址=塊號*塊長+塊內位址+使用者基址
=6*2048+769+1000=14057
頁塊術語對應頁塊
程式記憶體
邏輯位址
實體地址
頁號塊號
頁內位址
塊內位址
頁長(頁面大小)
塊長(塊大小)
作業系統 頁儲存
為了能知道每個程序的每個頁面在記憶體中的存放位置,作業系統需要為每個程序建立一張頁表。如上圖所示頁表,記錄了頁面在記憶體中對應的記憶體塊號,頁表一般存放在記憶體中。在配置了頁表後,程序執行時,通過查詢該錶,即可找到每頁在記憶體中的記憶體塊號。可見頁表作用是實現從頁號到記憶體塊號的位址對映。這就是頁儲...
作業系統 頁式儲存方式,頁,頁表,頁表項
作業系統和計算機組成原理裡都講到記憶體管理的頁式管理,但是本人以及很多初次學習分頁的時候,都會迷茫頁表大小和頁表項大小之間的關係,本人仔細分析了後寫了這篇blog,僅當學習交流,個人理解之用,如果有錯或者分析不夠嚴謹,歡迎指正。按字 圖結合起來分析,相信還是比較容易看懂。頁 將程序劃分的塊,對應的大...
作業系統 頁式虛擬儲存位址變換
include stdio.h define n 64 模擬實驗中假定的頁表長度,即最多允許程式含有多少頁 假定頁面大小為1k define length 10 struct page n 頁表定義 int m m為該作業在主存中的主存塊塊數 int page length 頁表實際長度 int p...