時間:2014.07.18
地點:基地
---------------------------------------------------------------------------
一、連續分配方式缺點
連續分配方式的主要缺點是會形成很多碎片,雖然我們能夠通過緊湊的方法將碎片拼接成可用的大塊空間,但這樣須付出非常大的開銷。
---------------------------------------------------------------------------
二、離散分配方式
離散分配方式思想:將進程直接分散地裝入到很多不相鄰接的分區中。
1.假設離散分配的基本單位是頁——>分頁存儲管理方式
2.假設離散分配的基本可是是段——>分段存儲管理方式
主要的分頁存儲管理方式不具備頁面對換功能,也不支持實現虛擬存儲器功能,它須要把每一個作業所有裝入內存后才干執行。
---------------------------------------------------------------------------
三、頁面
分頁存儲管理是將一個進程的邏輯地址空間划分為若干個大小相等的片,這些片稱之為頁面,並編號第0頁,第1頁....同一時候,我們還把內存空間也划分為與頁面大小同樣的若干個存儲塊。稱為塊或葉框,也進行編號0#,1#.....之后我們為進程分配內存時。即是將進程的若干個頁分別映射裝入到能夠不相鄰的塊中去。因為這里進程的最后一頁往往裝不滿塊而會形成不可利用的碎片,我們稱之為頁內碎片。
---------------------------------------------------------------------------
四、頁面大小
非常明顯,頁面大小過小可使得內存碎片變小。降低內存碎片總空間。提高內存利用率,但缺點是:每一個進程由此會占用很多其它頁面,導致進程頁表過長,占用大量內存(頁表也是要耗費內存的),並且還降低了頁面切換的效率。
而頁面過大。能夠降低頁表長度,提高頁面切換效率,但內存碎片增大。
在頁面大小選擇適中,一般為2的冪,通常為512B~8KB
---------------------------------------------------------------------------
五、頁面地址結構
頁號(P)+位移量(W)
位移量W也稱呼為頁內地址,對於特定機器,其頁面地址結構時確定的,給定邏輯地址空間中的地址A,頁面大小L,則頁號P=int(A/L)
頁內地址W=A%L
比方:系統頁面大小為1KB。A=2170B。可得
頁號P=A/L=2170/1024=2
頁內地址=A%L=122
---------------------------------------------------------------------------
六、頁表
在分頁系統里,同意將進程各個頁面離散存儲在內存的不同物理塊中,為了保證進程的正常執行。須要能在內存中找到每一個頁面所相應的物理塊。於是系統得為進程建立一張頁面映像表。以方便查找頁面相應的地址,這張表叫做頁表。進程地址空間內的全部頁(0~n)都將通過頁表映射到塊號,進程執行時,僅僅要通過查找頁表,就可知道每頁在內存中的物理塊號。總的一句說來:頁表的作用就是實現從頁號到物理塊號的地址映射。
---------------------------------------------------------------------------
七、一道網易筆試題
對於一個內存地址是32位、內存頁是8KB的系統。0X0005F123這個地址的頁號與頁內偏移各自是多少。
解答:首先0X0005F123這個地址相應的十進制是:389411B
其次頁面大小8KB相應8*1024B=8192B
於是頁號P=A/L=47頁
頁內偏移W=A%L=4387=0X00001123