目錄早期的記憶體管理方式
分頁分段
分頁和分段的區別
段頁式虛擬記憶體
請求分頁
頁面置換演算法
記憶體塊的分配和抖動
動態執行時裝入方式:程序的記憶體映像在不同時候處於不同位置
將邏輯位址轉變為記憶體實體地址的過程
缺點:動態重定位:在程式執行期間,每次訪問記憶體之前進行重定位
缺點:需要硬體支援,增加成本
將記憶體的可用空間劃分成乙個固定區和多個覆蓋區;把程式劃分為若干個功能上相對獨立的程式段,按照其自身的邏輯結構使那些不會同時執行的程式段共享同一塊記憶體區域。用於早期的作業系統
將記憶體全部提供給乙個程序使用,其他程序放在磁碟上。每次調入乙個程序,分給一定的執行時間片。用於現代作業系統
缺點:為了支援多道程式設計的記憶體管理方式,除去作業系統占用記憶體的某個固定分割槽,其餘記憶體供其他程序使用,並且劃分為多個分割槽,乙個分割槽容納乙個程序
記憶體中分割槽的個數不變,各個分割槽的大小也固定不變,乙個分割槽只可裝入乙個程序
差分方式:各個分割槽不同大小
固定分割槽的缺點:內碎片問題,程序數受限
記憶體中的分割槽大小和個數都是可變的,在相應程序裝入記憶體時才建立分割槽,使其剛好適應程序大小
最佳適應演算法:未用記憶體區按大小排序,從小到大開始查詢,使用第乙個可以滿足的未用記憶體區
迴圈適應演算法:最先適應演算法的變種。找到合適記憶體區後記錄下當前位置,下次查詢從記錄位置開始
最壞適應演算法:最佳適應演算法的「逆」。未用記憶體區按大小排序,先分配大的記憶體區
動態分割槽的優點:有利於多道程式設計,不產生內碎片
動態分割槽的缺點:外碎片問題,記憶體利用率低
解決外碎片問題:
分頁邏輯空間分頁:把程序的邏輯位址空間分程若干大小相同的部分,稱為頁或頁面,由硬體確定大小
記憶體空間分塊:把記憶體等分成與頁面大小相同的若干儲存空間,稱為記憶體塊或頁框
記憶體分配原則:系統按程序頁數目將對應記憶體塊分配給程序,頁是連續的,但記憶體塊可以不連續
記憶體塊表:記錄記憶體塊是否已分配出去,分配給哪乙個程序
設定訪問控制位:給每個頁表項設定訪問控制字段,設定為唯讀(r)、讀寫(rw),讀和執行(rx)
程式的位址空間按照程式自身的邏輯關係劃分為若干段
設定訪問控制位
保護環:重要的服務和作業系統核心在0環(最高優先順序),使用者程式在3環(最低優先順序)
頁是物理單位,系統直接對程式進行分頁,是面向系統、硬體的;段是邏輯單位,根據程式裡面不同內容的不同作用進行分段,使用者知道程式分成了多少段,是面向使用者的
頁的大小由系統確定,乙個系統所有頁大小相同;段的大小由程式段確定,不一定相同
分頁的程序位址空間是一維的,塊號+偏移量;分段的程序位址空間是二維的,段基址+偏移量
分頁很難實現**和資料分離,因此難以保護和共享;分段容易實現
等分記憶體
程序的位址空間分段
段內分頁
段表找頁表,頁表找記憶體塊
使用者可編址的一段連續的虛擬位址空間,比真實記憶體空間大
虛擬擴充:擴充邏輯上的記憶體空間,實現小記憶體執行大作業
部分裝入:利用程式執行過程顯示區域性性的特點,每個程序部分裝入記憶體
離散分配:跟以前一樣,物理記憶體塊不需要連續
多次對換:因為是部分裝入,程序執行時需要的程式和資料要多次調入記憶體,記憶體空間不足時把不需要的程式和資料調出記憶體
位址線數
磁碟的容量
發生缺頁中斷
儲存程序a斷點資訊
檢查該頁的訪問是否合法,確定該頁在磁碟的位置
將該頁從磁碟上讀到空閒記憶體塊
io完成,發出io中斷
儲存程序b斷點資訊
調整頁表和其他**,標明所需頁已放入記憶體
程序a就緒,系統進行排程(不一定是a或b)
頁面置換演算法選擇不佳,會導致系統大部分時間都花費在頁面的排程和傳輸上
找出所需頁面在磁碟上的位置
找出空閒記憶體塊。若沒有空閒記憶體塊,則需要頁面置換演算法選擇乙個置換的記憶體塊換出到磁碟
把所需頁面讀入記憶體塊
重啟程序
最佳置換法:淘汰將來不被使用的頁面、或者最遠的將來才被使用的頁面
最近最久未使用置換法:淘汰最近一段時間內最久沒有使用過的頁面
最近未使用置換法:淘汰最近一段時間內未使用的頁面
第二次機會置換法:改進fifo,避免把經常使用的頁面置換出去
時鐘置換法:第二次機會置換法的改進
區域性置換+可變分配
全域性置換+可變分配
整個系統頁面置換十分頻繁,以致大部分機器時間都用在來回進行的頁面排程,小部分時間進行實際運算
作業系統 學習筆記 四 儲存器管理
採用多層結構儲存器的原因 儲存器要求有速度快 容量大 便宜三個特點,由於至今無法同時滿足,所以採用多級結構。1.儲存器的多層結構 儲存層次 越往上,速度越快,越高,容量越小 2.可執行儲存器 可執行儲存器因為與輔存訪問機制不同,速度更快 1.主儲存器 作用 儲存程序執行時的程式和資料 2.暫存器 與...
作業系統學習筆記(10) 虛擬儲存管理
1 程式訪問區域性性原理 2 虛擬儲存器 3 請求頁式儲存管理 位址轉換過程 以頁號為索引搜尋快表 如果在快表中命中,立即送出頁框號,並與頁內位址拼接成實體地址,然後,進行許可權檢查,如獲通過程序就可以訪問實體地址了 如果在快表中不命中,以頁號為索引搜尋程序頁表,頁表的始址由硬體頁表控制暫存器指出 ...
作業系統學習筆記
這裡專門摘錄作業系統相關筆試題和面試題!也當作自己的乙個複習!乙個很全的作業系統常考知識集合 1.分段式儲存和分頁式儲存,以及段頁式儲存的區別 分頁是一維儲存,分段是二維的 因為分頁給出虛擬位址後,作業系統會自動劃分頁號和偏移量 而分段給出位址後,需要知道段號和偏移量,段的長度是可變的!故是二維的 ...