0,概念
虛擬存儲器管理——基于局部性原理,由操作系統(tǒng)提供一個比實際內存大的,假想的特大存儲器锡移。
虛擬存儲器定義:具有請求調入和置換功能,能從邏輯上對內存容量加以擴充的存儲系統(tǒng)。
方法:離散分配方式是基礎
1)多次性:一個作業(yè)被分成多次調入內存運行贫悄。
2)對換性:允許在作業(yè)的運行過程中進行換進嘴高、換出竿音。(進程整體對換不算虛擬)。
最終目的:最終體現(xiàn)虛擬性:能夠從邏輯上擴充內存容量拴驮,使用戶所看到的內存容量遠大于實際內存容量春瞬。
1,常規(guī)存儲器管理方式的特征
一次性:作業(yè)在運行前一次性地全部裝入內存
駐留性:作業(yè)裝入內存后套啤,便一直駐留在內存中宽气,直至作業(yè)運行結束。
2潜沦,程序執(zhí)行的局部性:
1)時間局部性(temporal locality)
被引用過一次的存儲器位置很可能在不遠的將來再被多次引用萄涯。
2)空間局部性(spatial locality)
? 如果一個存儲器位置被引用了一次,那么程序很可能在不遠的將來引用附近的一個存儲器位置唆鸡。
3)程序執(zhí)行的特點:
多數(shù)情況下仍是順序執(zhí)行涝影。
少部分的轉移和過程調用指令會使程序執(zhí)行由一部分區(qū)域轉至另一部分區(qū)域(但研究表明調用深度多數(shù)情況下不
超過5)。
許多由少數(shù)指令構成的循環(huán)結構會多次執(zhí)行争占。
對許多數(shù)據(jù)結構的處理(如數(shù)組)往往局限于很小的范圍內袄琳。
重復引用同一個變量的程序有良好的時間局部性。
對于取指令來說燃乍,循環(huán)有好的時間和空間局部性唆樊,循環(huán)體越小,循環(huán)迭代次數(shù)越多刻蟹,局部性越好逗旁。
數(shù)組按行訪問和按列訪問其局部性不同。
3舆瘪,請求分頁存儲管理方式
增加虛擬功能后頁表項信息片效。
頁號 物理塊號 狀態(tài)位P 訪問字段A 修改位M 外存地址
(1) 狀態(tài)位P :指示該頁是否已調入內存。
(2) 訪問字段A :用于記錄本頁在一段時間內被訪問的次數(shù)英古,或記錄本頁最近已有多長時間未被訪問淀衣。(置換時
考量的參數(shù))
(3) 修改位M :該頁在調入內存后是否被修改過。(關系到置換時調出的具體操作)
(4) 外存地址:用于指出該頁在外存上的地址召调。
OS則將所缺之頁調入內存膨桥。作為中斷蛮浑,需經歷幾個步驟:
1,“保護CPU環(huán)境”
2只嚣,“分析中斷原因”
3沮稚,“轉入缺頁中斷處理程序”
4,“恢復CPU環(huán)境”等册舞。