作業系統 為程序分配記憶體最小物理塊數的三種分配策略

2021-10-11 19:16:34 字數 1226 閱讀 2739

——最小物理塊數,是指能保證程序正常執行所需的最少物理塊數。

——程序所需的最少物理塊數與計算機的硬體結構有關,取決於指令的格式、功能和定址方式。

①固定分配區域性置換:

——基於程序的型別或根據程式設計師的建議,為每個程序分配一定數量的物理塊,在整個執行期間都不再改變。

——如果程序在執行期間發現缺頁,則只能在該程序在記憶體的n個頁面中選出一頁換出,然後再調入一頁,保證分配給該程序的物理塊數保持不變。

——困難:難以確定為每個程序分配的物理塊數,若太少,則會頻繁地出現缺頁中斷,降低了系統的吞吐量;若太多,則必然使記憶體中駐留的程序數目減少,進而可能造成cpu空間或其它資源的浪費,而且在實現程序交換時,會花費更多的時間。

(個人理解:大小分配固定,需要交換時內部自調整,對於大小卡的過於死板,大小分配不可能讓所有程序滿意。)

②可變分配全域性置換:

——先為系統中的每個程序分配一定數量的物理塊,而作業系統本身也保留乙個空閒物理塊佇列。

——當某個程序發現缺頁時,由系統從空閒物理塊佇列中,取出乙個物理塊分配給該程序,並將欲調入的(缺)頁裝入其中。

——凡產生缺頁的程序,都將獲得新的物理塊。

——僅當空閒物理塊佇列中的物理塊用完時,作業系統才從記憶體中選擇一頁調出,該頁可能是系統中任一程序的頁。 會使被淘汰頁的那個程序的物理塊數減少,進而使其缺頁率增加。

這是最容易實現的一種物理塊分配和置換策略。

(個人理解:先對每乙個程序固定分配,但是保留乙個空閒空間,誰缺給誰,當用完還缺時,再從整體層面上抽取一頁進行調出。但是給的過於土豪,抽調的過於隨機,對於當前缺頁的程序對於空閒空間的索取沒有加以限制,不是很好!乙個「人」的放縱卻要集體承擔。)

③可變分配區域性置換:

——程序的型別或根據程式設計師的要求,為每個程序分配一定數目的物理塊;但當某程序發生缺頁時,只允許從該程序在記憶體的頁面中選出一頁換出。

——如果程序在執行中頻繁地發生缺頁中斷,則系統須再為該程序分配若干附加的物理塊,直至程序的缺頁率減低到適當程度為止;反之,若乙個程序在執行過程中的缺頁率特別低,則此時可適當減少分配給該程序的物理塊,但不應引起其缺頁率的明顯增加。

(個人理解:當缺頁了,先自己內部解決,自己解決及其吃力,再系統插手救濟一下,系統怎麼知道你吃力,通過看你的缺頁率!當然要是你內部壓力很小,自己過得很富足,就給你放放血。整體來講就是——「劫富濟貧」)

ending... ...

作業系統 5 物理記憶體管理 連續記憶體分配

目錄5.5 碎片整理 5.6 夥伴系統 buddy system 在該表中,明顯處理器中的l1快取是最快的,有3.6ghz的訪問速度,l2快取較快。其中l1,l2為快取記憶體。以上為硬體mmu控制的記憶體。在快取記憶體未命中時,就需要去記憶體中查詢。若缺頁,則需要到外存,也就是虛擬內卒中查詢。這一切...

作業系統 記憶體分配

1.系統要用什麼樣的資料結構記錄記憶體的使用情況。2.當多個記憶體分割槽滿足要求時,應該選擇哪個分割槽進行分配。3.如何進行分割槽的分配與 操作。程序中的塊稱為頁 page 記憶體中的塊稱為頁框 page frame 外存也可以同樣的單位進行劃分,稱為塊。頁表,為了便於在記憶體中找到程序的每個頁面所...

作業系統記憶體分配

作業系統的記憶體一部分給系統核心,一部分給使用者核心,對windows來說,32位4g時,低位2g給使用者,高位2g給系統,64位256t時,高位的248t給系統,低位8t給使用者。linux則是32位4g時,低位3g給使用者,高位1g給系統,64位256t時,高位的128t給系統,低位128t給使...