3.3 虛擬記憶體
每個程式擁有的位址空間被分為很多塊,每一塊稱為一頁page,page被對映到物理記憶體。當程式用到的部分不在物理空間時,產生缺頁中斷;
分頁:1.程式產生的位址稱為虛擬位址,構成的空間稱為虛擬位址空間;
位址空間的單元稱為頁面,在物理記憶體對應的單元稱為頁框;
2.虛擬位址送給mmu,mmu轉換為實體地址;
3.頁表:
結構:頁框號、訪問位、在/不在位、等
加速分頁:tlb,乙個硬體結構,加速找到頁框,傳入虛擬頁號;
多級頁表:頁表項太多,放在記憶體佔空間;
倒排頁表:乙個頁框對應乙個頁面;
3.4 頁面置換演算法
1.最優頁面置換演算法;
2.最近未使用頁面置換演算法
3.fifo
4.第二次機會頁面置換演算法(fifo改進,r位)
5.時鐘頁面置換演算法:第二次機會的時鐘版(時鐘驅動,其餘的是任務驅動,新任務進來才換)
6.lru演算法
7.工作集頁面置換演算法
8.工作集時鐘頁面置換演算法
程序正在使用的頁面的集合稱為工作集;
最好的演算法:老化演算法和工作集時鐘;
3.5 分頁系統設計
1.區域性分配策略和全域性分配策略
區域性:只為單個程序分配和置換,自己處理自己的
全域性:在所有執行的程序考慮和動態分配;
2.共享頁面
共享i空間;
共享資料:fork,寫時複製;
3.動態庫
減小可執行檔案大小和記憶體空間;
共享庫函式修改後不需要重新編譯主程式;
3.6 分頁系統實現
1.上下文切換(程序排程):重置mmu、tlb,載入頁表;
2.缺頁中斷:
流程:陷入核心;
啟動彙編,儲存暫存器;
分段與分頁:
虛擬位址分為段號和段內位址,段內位址有頁號和業內偏移量;
作業系統 第4章 儲存器管理
主存 儲存程序執行時的程式和資料。暫存器 速度最快,昂貴容量不大,一般以字為單位,只要存放指令一次操作的資料就夠了 快取記憶體 一種速度比記憶體快的儲存裝置,一般同暫存器一樣整合在cpu中。存放記憶體的部分拷貝,把常用的資料放這裡可以提高速度。總之 速度快 存放部分記憶體資料 硬體自動處理。磁碟快取...
《現代作業系統》筆記 記憶體管理3
接上 缺點 有可能置換出頻繁使用的頁 缺陷 前提是必須要知道接下來哪些頁面要使用,完全理想的情況,不可能實現。但可作為衡量演算法優劣的標準,結果越接近的越優秀。頁表中節點的訪問位 reference 和修改位 modified 當被訪問後,r位會被設定 當被修改後,m位會被修改。但每過乙個週期,r位...
《現代作業系統》 第4章 CPU排程
cpu排程的概念 按一定的排程演算法從就緒佇列中選擇乙個程序,並將cpu的使用權交給被選中的程序 cpu排程要解決的三個問題 排程時機 建立 喚醒程序,程序等待io io中斷,時鐘中斷等 排程過程 即程序切換,主要包括位址空間切換和上下文切換 設計排程演算法時需要考慮的幾個問題 批處理系統中採用的排...