現代作業系統 第3章 儲存管理

2021-09-12 14:16:33 字數 952 閱讀 9385

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中斷,時鐘中斷等 排程過程 即程序切換,主要包括位址空間切換和上下文切換 設計排程演算法時需要考慮的幾個問題 批處理系統中採用的排...