總結 記憶體管理

2021-10-10 16:21:13 字數 1839 閱讀 7199

上下限暫存器

在cpu中設定上下限暫存器,用於分別存放作業在主存中的上限和下限位址

界位址暫存器

界位址暫存器存有程序的最大邏輯位址,若不越界,加上重定位暫存器(存有程序的起始實體地址)的值即為實體地址

編譯鏈結

裝入固定式分割槽:程式適應分割槽

可變式分割槽:分割槽適應程式

單一佇列分配方式

多佇列分配方式

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-zhno74uf-1605840204431)(

區別:多佇列方式考慮了程式大小與分割槽大小的匹配

說明

首次適應與下次適應演算法:搜尋可用空間的代價

最佳適應與最壞適應演算法:分配後殘餘碎片大小

固定式分割槽分配有內碎片;可變式分割槽有外碎片

時間區域性性

空間區域性性

如果程序在執行中發生缺頁現象,需要進入缺頁中斷機構進行處理,請求作業系統將所缺頁面調入記憶體。此時程序被阻塞,等待調頁完成時的喚醒。

缺頁中斷與一般中斷有兩個明顯區別:

缺頁中斷在指令執行期間產生和處理中斷訊號,而非一條指令執行完成後,屬於內中斷

一條指令執行期間,可能產生多次缺頁中斷

抖動

在頁面置換過程中,如果出現了剛剛換出的頁面又要調入記憶體,剛剛換入的頁面要調出記憶體的情況,這種頻繁的頁面排程行為就稱為抖動。如果經常發生抖動,勢必會造成處理機資源的浪費,大大降低系統效率。

工作集理論

工作集是程序活躍地訪問頁面的集合,為使程式有效地執行,工作集必須放在主存中,否則會發生抖動現象,進行過度的頁面排程活動。

工作集模型原理:讓作業系統跟蹤每個程序的工作集,並為程序分配大於其工作集的物理塊。如果還有空閒物理塊,則可以再調入乙個程序增加多道程式數,如果所有工作集之和增加到超過可用物理塊,那麼作業系統會暫停乙個程序,將其頁面調出並將物理塊分配給其他程序,防止出現抖動現象。

從主存中移出永遠不再需要的頁面,如無這樣的頁面存在,則應選擇最長時間不需要訪問的頁面。這種方法可用保證最低的缺頁率,但是實際中準確**頁面使用情況是很困難的,這種方法無法實現。

記憶體管理總結

一 計數器的基本操作 1 retain 1 2 release 1 3 retaincount 獲得計數器 二 set方法的記憶體管理 1 set方法的實現 2 dealloc方法的實現 不要直接呼叫dealloc 三 property引數 1 oc物件型別 property nonatomic,r...

iOS 記憶體管理總結

一 自動釋放池 自動釋放池,任何標記為自動釋放並因此新增到池中的物件,將在池本身被釋放的同時也自動釋放,程式可以有多個自動釋放池,它們還可以是巢狀的。如果程式在執行時將產生大量的臨時物件,就可能需要在程式中建立多重自動釋放池。例如 for inti 0 i 1000000 i 在執行此段 的時候會有...

自動管理記憶體總結

總結 前提條件 物件都是有引用計數且是被強指標指向的 1 mrc,有autoreleasepool的情況下 所有建立出來的新物件都需要被釋放 2 mrc,沒有autoreleasepool的情況下 mrc不自動生成 全手動 所有建立出來的新物件都需要被釋放 3 arc,有autoreleasepoo...