作業系統的記憶體管理負責記憶體的分配與**,以及位址對映(邏輯位址到實體地址的轉換)
不連續分配的記憶體管理又包括
段頁式管理:結合了段氏管理和頁式管理。先把主存分為若干段,再把每個段分頁。段與段間以及段內都是離散的。
分頁機制和分段機制都屬於不連續分配記憶體管理,都是為了提高記憶體的利用率,減少記憶體碎片。
但是,頁的大小是固定的,而段的大小是不固定的。段是邏輯資訊的單位,如在程式中可以提現為**段、資料段。
邏輯位址是應用程式的角度看到的位址,而實體地址是真實的物理記憶體位址。
cpu需要將邏輯位址轉換為實體地址,才能完成訪存操作。完成該操作的硬體為mmu(記憶體管理單元)。
虛擬記憶體定義了乙個連續的虛擬位址空間(每個程序以為自己擁有乙個連續的記憶體空間),且把記憶體擴充套件到硬碟空間。
虛擬記憶體技術的基礎是區域性性原理。程式執行有區域性性原理。體現在兩個方面:
當發現要訪問的頁面不在記憶體中時,發生缺頁中斷。
發生缺頁中斷時,如當前記憶體中沒有空閒的頁面,作業系統必須選擇移出某個頁面。頁面置換演算法就是作業系統用來選擇淘汰哪一頁的規則。
最佳頁面置換演算法(opt):淘汰最長時間內不再被訪問的頁面。無法實現,一般是衡量其他演算法的標準。
先進先出頁面置換演算法(fifo):淘汰最先進入記憶體的頁面。
最近最久未使用頁面置換演算法(lru):淘汰最近最久未使用頁面。給每個頁面乙個訪問字段,記錄自上次訪問以來經過的時間,淘汰掉時間最長的頁面。
最少使用頁面置換演算法(lfu):淘汰使用最少的頁面。
從記憶體中剛換出某一頁面後,根據請求又馬上換入該頁,反覆換入換出的現象,稱為抖動。
主要原因:置換演算法選擇不當
解決辦法:
作業系統常見面試題
作業系統學習之一 程序及其狀態和資料描述 作業系統學習記錄之二 程序的管理及切換 作業系統學習記錄之三 多執行緒技術 作業系統學習記錄之四 核心級執行緒和使用者級執行緒 作業系統學習記錄之五 多執行緒實現的混合策略 作業系統學習記錄之六 併發程式 作業系統學習記錄之七 臨界區 作業系統學習記錄之八 ...
作業系統常見面試題
未更新完畢 僅用來個人學習 程序 程序是乙個有特定功能的程式在某個資料集合上的一次執行。執行緒 執行緒是系統排程的最小單位,包含在程序之中。聯絡 程序可以有多個執行緒,最少包含乙個執行緒,即主線程。乙個執行緒只能屬於乙個程序。執行緒是程序執行的實體。區別 1 程序是資源分配的最小單位。程序擁有資源,...
常見面試題整理(作業系統)
一 請分別簡單說一說程序和執行緒以及它們的區別。如果你對程序或者執行緒不太熟悉,建議閱讀 程序與執行緒的乙個簡單解釋 二 執行緒同步的方式有哪些?經兩位大大的指正,現已刪除臨界區。感謝 真姬醬 安陽如果你對執行緒同步的方式不太熟悉,建議閱讀 執行緒同步的幾種方式 三 程序的通訊方式有哪些?主要分為 ...