時間: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