分頁和分段存儲管理有何區(qū)別 在請求分頁系統(tǒng)中,頁表應(yīng)包含哪些表項?每項的作用是什么?
在請求分頁系統(tǒng)中,頁表應(yīng)包含哪些表項?每項的作用是什么?a.在請求尋呼系統(tǒng)中,頁表項中包含的數(shù)據(jù)項包括頁號、物理塊號、狀態(tài)位P、訪問字段a、修改位m和---外部存儲器地址;B.狀態(tài)位P表示在程序訪問時
在請求分頁系統(tǒng)中,頁表應(yīng)包含哪些表項?每項的作用是什么?
a.在請求尋呼系統(tǒng)中,頁表項中包含的數(shù)據(jù)項包括頁號、物理塊號、狀態(tài)位P、訪問字段a、修改位m和---外部存儲器地址;B.狀態(tài)位P表示在程序訪問時頁是否被調(diào)用到存儲器中作為參考;C.訪問字段a用于記錄一段時間內(nèi)該頁被訪問的次數(shù),或最近有多長時間沒有被訪問,并提供參考源替換算法:在換頁時選擇參考源;D.修改位m表示該頁在轉(zhuǎn)入后是否被修改內(nèi)存;e.外部內(nèi)存地址用來表示頁在外部內(nèi)存中的地址,通常是物理塊號,在調(diào)用頁時使用
實現(xiàn)從頁號到物理塊號的地址映射。
將邏輯地址轉(zhuǎn)換為物理地址的過程是:使用頁碼p搜索頁表,從頁表中獲取頁的物理塊號,并將其加載到物理地址寄存器中。同時,頁內(nèi)地址D被直接發(fā)送到物理地址寄存器的塊內(nèi)地址字段中。這樣,物理地址寄存器的內(nèi)容就是二者形成的實際內(nèi)存訪問地址,從而完成從邏輯地址到物理地址的轉(zhuǎn)換。
頁表的作用?
在分頁系統(tǒng)中,進(jìn)程的每一頁都可以離散地存儲在任何物理內(nèi)存塊中。為了找到內(nèi)存中每個頁對應(yīng)的物理塊,系統(tǒng)為每個進(jìn)程建立一個頁映射表,簡稱頁表。頁表的功能是實現(xiàn)從頁號到物理塊號的地址映射。Page table length是頁表條目數(shù)。頁表長度=虛擬存儲容量/頁大小。例如,如果虛擬內(nèi)存容量為1GB,則虛擬地址為30位,即2^30。如果頁大小為4KB(Z^12),則頁表長度為2^30/2^12=2^18=256K
頁表實際上是進(jìn)程的虛擬內(nèi)存空間與系統(tǒng)中物理存儲空間之間的映射關(guān)系。
由于每個進(jìn)程都有自己的虛擬內(nèi)存空間,因此操作系統(tǒng)需要為每個進(jìn)程保存一個頁表。
當(dāng)進(jìn)程切換時,操作系統(tǒng)將要調(diào)度運行的進(jìn)程的頁表加載到MMU中,完成地址空間的切換。
頁表長度指的是什么?
為了理解這樣一個概念,操作系統(tǒng)為了方便內(nèi)存管理,將內(nèi)存分為若干頁,每個頁表條目代表一頁的地址(頁地址,而不是內(nèi)存地址)。4B頁表條目表示支持的最大頁表數(shù)為4294967296(4B=32位)到2的32次方。如果頁的大小是4K,那么4B頁表條目意味著操作系統(tǒng)支持4294967296*4K=16GB內(nèi)存?,F(xiàn)在的問題是頁表占用了一定量的內(nèi)存?,F(xiàn)在假設(shè)您有2GB內(nèi)存,必須小于16GB。所以它總共有2GB/4KB=512k頁,也就是說有512k頁表條目,每個頁表條目的大小是4b,所以內(nèi)存中頁表的大小是:512k*4b=2MB,也就是說只要2MB就可以代表512k頁(每個頁是4KB,總內(nèi)存大小是2G),頁表本身就占2MB/4K=512頁。這個問題是問你一個頁面可以代表多少個頁面項。4KB/4B=1024頁項目。頁大小和頁表項之間沒有絕對關(guān)系,但它們有以下關(guān)系:1。頁大小*2^(頁表項大?。?操作系統(tǒng)支持的最大內(nèi)存大?。ㄌ摂M內(nèi)存)。這個問題是4K*2^(4b)=16gb2。頁表內(nèi)存=操作系統(tǒng)內(nèi)存/頁大小*頁表項大小。這個問題是假設(shè)操作系統(tǒng)內(nèi)存是2GB。2GB/4KB*4B=2mb3。頁表占用的頁數(shù)為=頁表占用的內(nèi)存/頁大小,假設(shè)2Mb/4K=512頁,同上。
在操作系統(tǒng)中,存儲頁表的作用是什么?
在實際系統(tǒng)中,解決方案是采用內(nèi)存頁表和快速表相結(jié)合。系統(tǒng)總是首先將頁碼與fast表中的所有條目進(jìn)行比較。如果找到匹配的頁,則直接從fast表而不是頁表中提取塊號。它也是將塊號和頁位移拼接形成所需的絕對地址。如果fast表中沒有匹配的頁碼,則系統(tǒng)訪問該頁表以放入塊號。提高讀取數(shù)據(jù)的速度。
什么是頁表項?
頁相當(dāng)于數(shù)組,頁表項是數(shù)組的元素類型。也就是說,一個頁面有許多頁表條目。頁面的大小與頁面框架(頁面框架或物理頁面)的大小相同。頁表條目存儲物理地址的頁幀號和一些標(biāo)記位。在一般的32位系統(tǒng)中,頁大小是4KB,4KB=2^12,這稱為頁內(nèi)偏移。物理地址總共有32位,剩下的20位是頁幀號。將有幾個標(biāo)記位,因此頁表條目通常設(shè)置為4字節(jié)。一個頁面是4KB,另一個是4byte,因此一個頁面中總共有4kg4b=1024項。
請求頁式存貯管理中頁表主要作用是什么?
反向頁表地址轉(zhuǎn)換
目的:減少頁表對內(nèi)存空間的占用
思路:反向頁表不是按照進(jìn)程的邏輯頁碼組織的,而是按照進(jìn)程在內(nèi)存中的物理頁碼組織的(為每個頁架設(shè)置一個頁表項,并按頁架號排序)
例如:64M內(nèi)存,如果頁大小為4K,則反向頁表只需要64KB
實現(xiàn):反向頁表不按進(jìn)程的邏輯頁號組織,但根據(jù)內(nèi)存中進(jìn)程的物理頁號,每個進(jìn)程在虛擬地址中有一個邏輯頁號的反向頁表,通過k=hash(P)得到哈希值,并用哈希表的索引值查找反向表,得到頁架
特點:反向頁表只包含已轉(zhuǎn)移到主存的頁,而不在主存中的頁需要通過其他方式(傳統(tǒng)的頁表方法)從外存中獲取,而反向頁表的大小只與物理內(nèi)存的大小有關(guān),與邏輯空間的大小和進(jìn)程數(shù)無關(guān)。哈希值可以對應(yīng)于多個頁碼