作業系統之分頁式記憶體管理1

2021-06-29 01:03:04 字數 1979 閱讀 2778

1.分頁記憶體管理的核心就是:頁面的翻譯。

對於任何乙個虛擬頁面,系統要知道該頁面是否在物理記憶體中?如果在的話,對應的物理頁面是哪乙個?如果不在,就會產生乙個缺頁中斷,並將該虛頁從磁碟轉到記憶體,然後將分配給它的物理頁面號返回。虛擬頁面到物理頁面的對映,這個翻譯過程由記憶體管理單元mmu完成。mmu接收cpu發出的虛擬位址,將其翻譯為實體地址後發給記憶體。mmu對虛擬位址的翻譯只是對頁面號的翻譯,而對於偏移值則不進行任何操作,這是因為虛擬頁表和物理頁表大小完全一樣,虛擬頁面裡的偏移值和物理頁面裡的偏移值完全一樣,因此無需翻譯。

2.頁表在分頁管理系統中的地位?

頁表記錄的條數與虛擬頁面數相同。對於32位定址的虛擬位址,如果頁面大小為4kb,則頁表的記錄條數最多可以達到1048576條。記憶體管理單元依賴頁表來進行一切與頁面有關的管理活動,例如,判斷某一頁面號是否在記憶體中,頁面是否受保護,頁面是否非法空間。

3.頁表記錄了那些內容?

4.頁面翻譯過程?

5.分頁記憶體管理的缺點與解決方法?

頁表會很大,占用大量的記憶體空間,如1048576個頁面的記錄,每個記錄又會占用多個位元組,這樣乙個頁表所佔的記憶體空間就很大了。

1)多級頁表

2) 反轉頁表

6.如何提高翻譯效率?

如果使用單級頁表,則每次記憶體訪問變為兩次記憶體訪問,先訪問頁表,在訪問實際的物理記憶體,如果使用多級頁表或反轉頁表,則每次記憶體訪問變為更多次的記憶體訪問,這樣效率會越來越低。為了提高這種記憶體翻譯的效率,我們想出了一些方法。

在一段時間內,程式所要訪問的位址空間有一點的空間侷限性,如果乙個頁面被訪問,則有些頁面被訪問的可能性很大,這樣我們可以將這些頁面的翻譯結果存在快取裡,如是可以大大提高系統效率。

tlb通常由cpu

製造商提供,但

tlb的更換演算法則有可能由作業系統提高。

7.缺頁中斷處理?

8.鎖住頁面:如果乙個頁面非常重要,可以把它鎖住,從而防止不必要的頁面替換。

9.乙個程序內的碎片空間稱為內部空間,頁面越大,內部碎片就可能越大。而頁面越小,則頁表尺寸將越大,所以頁面尺寸的大小要在內部碎片和頁表大小之間平衡。

10.記憶體抖動的概念?

在更換頁面時,如果更換的頁面是乙個很快就會被訪問的頁面,則在此次缺頁中斷後很快又會發生新的缺頁中斷,最壞的情況是,每次新的訪問都是對乙個不在記憶體的頁面進行訪問,即每次記憶體訪問都會產生缺頁中斷,這樣每次的記憶體訪問其實變成可磁碟訪問,磁碟的訪問速度可能會比記憶體慢幾百萬倍,因此整個系統的效率急劇下降,這種現象稱為記憶體抖動。發生記憶體抖動是,系統幾乎看不到任何進展的現象,cpu的資源絕大部分將消耗在缺頁中斷上。

作業系統之分頁式記憶體管理2

1.分頁的記憶體管理克服了交換系統的缺點 外部碎片,程式不能大於物理記憶體等。但付出的代價是頁面更換。在交換系統下,乙個程式作為乙個整體載入到記憶體,這樣,在程式執行時,無須在從磁碟上載入任何東西,而分頁系統下,乙個程式的所有頁面不一定都在記憶體中,所以可能會產生缺頁中斷,缺頁中斷的服務程式負責把位...

作業系統之分段式記憶體管理1

1.分頁作業系統的缺點?1 頁表太大,我們用多級頁表克服了。2 多級頁表速度慢,我們用tlb翻譯快表解決了絕大部分。3 頁面來回更換所帶來的缺頁中斷的問題,我們用各類頁面更換演算法解決了大部分。4 內部碎片相對於交換系統的外部碎片,還是可以忍受的。最大的缺陷是 共享困難。2.分段管理系統?3.邏輯分...

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

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