導航:首頁 > 源碼編譯 > 時鍾置換演算法口訣

時鍾置換演算法口訣

發布時間:2023-08-19 02:47:52

❶ 頁面置換演算法的常見的置換演算法

最簡單的頁面置換演算法是先入先出(FIFO)法。這種演算法的實質是,總是選擇在主存中停留時間最長(即最老)的一頁置換,即先進入內存的頁,先退出內存。理由是:最早調入內存的頁,其不再被使用的可能性比剛調入內存的可能性大。建立一個FIFO隊列,收容所有在內存中的頁。被置換頁面總是在隊列頭上進行。當一個頁面被放入內存時,就把它插在隊尾上。
這種演算法只是在按線性順序訪問地址空間 時才是理想的,否則效率不高。因為那些常被訪問的頁,往往在主存中也停留得最久,結果它們因變「老」而不得不被置換出去。
FIFO的另一個缺點是,它有一種異常現象,即在增加存儲塊的情況下,反而使缺頁中斷率增加了。當然,導致這種異常現象的頁面走向實際上是很少見的。
FIFO演算法和OPT演算法之間的主要差別是,FIFO演算法利用頁面進入內存後的時間長短作為置換依據,而OPT演算法的依據是將來使用頁面的時間。如果以最近的過去作為不久將來的近似,那麼就可以把過去最長一段時間里不曾被使用的頁面置換掉。它的實質是,當需要置換一頁時,選擇在之前一段時間里最久沒有使用過的頁面予以置換。這種演算法就稱為最久未使用演算法(Least Recently Used,LRU)。
LRU演算法是與每個頁面最後使用的時間有關的。當必須置換一個頁面時,LRU演算法選擇過去一段時間里最久未被使用的頁面。
LRU演算法是經常採用的頁面置換演算法,並被認為是相當好的,但是存在如何實現它的問題。LRU演算法需要實際硬體的支持。其問題是怎麼確定最後使用時間的順序,對此有兩種可行的辦法:
1.計數器。最簡單的情況是使每個頁表項對應一個使用時間欄位,並給CPU增加一個邏輯時鍾或計數器。每次存儲訪問,該時鍾都加1。每當訪問一個頁面時,時鍾寄存器的內容就被復制到相應頁表項的使用時間欄位中。這樣我們就可以始終保留著每個頁面最後訪問的「時間」。在置換頁面時,選擇該時間值最小的頁面。這樣做, 不僅要查頁表,而且當頁表改變時(因CPU調度)要 維護這個頁表中的時間,還要考慮到時鍾值溢出的問題。
2.棧。用一個棧保留頁號。每當訪問一個頁面時,就把它從棧中取出放在棧頂上。這樣一來,棧頂總是放有目前使用最多的頁,而棧底放著目前最少使用的頁。由於要從棧的中間移走一項,所以要用具有頭尾指針的雙向鏈連起來。在最壞的情況下,移走一頁並把它放在棧頂上需要改動6個指針。每次修改都要有開銷,但需要置換哪個頁面卻可直接得到,用不著查找,因為尾指針指向棧底,其中有被置換頁。
因實現LRU演算法必須有大量硬體支持,還需要一定的軟體開銷。所以實際實現的都是一種簡單有效的LRU近似演算法。
一種LRU近似演算法是最近未使用演算法(Not Recently Used,NUR)。它在存儲分塊表的每一表項中增加一個引用位,操作系統定期地將它們置為0。當某一頁被訪問時,由硬體將該位置1。過一段時間後,通過檢查這些位可以確定哪些頁使用過,哪些頁自上次置0後還未使用過。就可把該位是0的頁淘汰出去,因為在之前最近一段時間里它未被訪問過。
4)Clock置換演算法(LRU演算法的近似實現)
5)最少使用(LFU)置換演算法
在採用最少使用置換演算法時,應為在內存中的每個頁面設置一個移位寄存器,用來記錄該頁面被訪問的頻率。該置換演算法選擇在之前時期使用最少的頁面作為淘汰頁。由於存儲器具有較高的訪問速度,例如100 ns,在1 ms時間內可能對某頁面連續訪 問成千上萬次,因此,通常不能直接利用計數器來記錄某頁被訪問的次數,而是採用移位寄存器方式。每次訪問某頁時,便將該移位寄存器的最高位置1,再每隔一定時間(例如100 ns)右移一次。這樣,在最近一段時間使用最少的頁面將是∑Ri最小的頁。
LFU置換演算法的頁面訪問圖與LRU置換演算法的訪問圖完全相同;或者說,利用這樣一套硬體既可實現LRU演算法,又可實現LFU演算法。應該指出,LFU演算法並不能真正反映出頁面的使用情況,因為在每一時間間隔內,只是用寄存器的一位來記錄頁的使用情況,因此,訪問一次和訪問10 000次是等效的。
6)工作集演算法
7)工作集時鍾演算法
8)老化演算法(非常類似LRU的有效演算法)
9)NRU(最近未使用)演算法
10)第二次機會演算法
第二次機會演算法的基本思想是與FIFO相同的,但是有所改進,避免把經常使用的頁面置換出去。當選擇置換頁面時,檢查它的訪問位。如果是 0,就淘汰這頁;如果訪問位是1,就給它第二次機會,並選擇下一個FIFO頁面。當一個頁面得到第二次機會時,它的訪問位就清為0,它的到達時間就置為當前時間。如果該頁在此期間被訪問過,則訪問位置1。這樣給了第二次機會的頁面將不被淘汰,直至所有其他頁面被淘汰過(或者也給了第二次機會)。因此,如果一個頁面經常使用,它的訪問位總保持為1,它就從來不會被淘汰出去。
第二次機會演算法可視為一個環形隊列。用一個指針指示哪一頁是下面要淘汰的。當需要一個 存儲塊時,指針就前進,直至找到訪問位是0的頁。隨著指針的前進,把訪問位就清為0。在最壞的情況下,所有的訪問位都是1,指針要通過整個隊列一周,每個頁都給第二次機會。這時就退化成FIFO演算法了。

❷ 求2011考研計算機專業課大綱!

2010年計算機考研專業課大綱(三)

操作系統
【考查目標】
1. 了解操作系統在計算機系統中的作用、地位、發展和特點。
2. 理解操作系統的基本概念、原理,掌握操作系統設計方法與實現技術。
3. 能夠運用所學的操作系統原理、方法與技術分析問題和解決問題。

一、 操作系統概述
(一) 操作系統的概念、特徵、功能和提供的服務
(二) 操作系統的發展與分類
(三) 操作系統的運行環境

二、 進程管理
(一) 進程與線程
1. 進程概念
2. 進程的狀態與轉換
3. 進程式控制制
4. 進程組織
5. 進程通信
共享存儲系統;消息傳遞系統;管道通信。
6.線程概念與多線程模型
(二)處理機調度
1.調度的基本概念
2.調度時機、切換與過程
3.調度的基本准則
4.調度方式
5.典型調度演算法
先來先服務調度演算法;短作業(短任務、短進程、短線程)優先調度演算法;時間片輪轉調度演算法;優先順序調度演算法;高響應比優先調度演算法;多級反饋隊列調度演算法。
(三)進程同步
1. 進程同步的基本概念
2. 實現臨界區互斥的基本方法
軟體實現方法;硬體實現方法
3. 信號量
4. 管程
5. 經典同步問題
生產者-消費者問題;讀者-寫者問題;哲學家進餐問題。
(四) 死鎖
1. 死鎖的概念
2. 死鎖處理策略
3. 死鎖預防
4. 死鎖避免
系統安全狀態:銀行家演算法。
5. 死鎖檢測和解除

三、 內存管理
(一) 內存管理基礎
1. 內存管理概念
程序裝入與鏈接;邏輯地址與物理地址空間;內存保護。
2. 交換與覆蓋
3. 連續分配管理方式
單一連續分配;分區分配。
4. 非連續分配管理方式
分頁管理方式;分段管理方式;段頁式管理方式。
(二) 虛擬內存管理
1. 虛擬內存基本概念
2. 請求分頁管理方式
3. 頁面置換演算法
最佳置換演算法(OPT);先進先出置換演算法(FIFO);最近最少使用置換演算法(LRU);時鍾置換演算法(CLOCK)。
4. 頁面分配策略
5. 抖動
抖動現象;工作集。
6. 請求分段管理方式
7. 請求段頁式管理方式

四、 文件管理
(一) 文件系統基礎
1. 文件概念
2. 文件結構
順序文件;索引文件;索引順序文件。
3. 目錄結構
文件控制塊和索引節點;單級目錄結構和兩級目錄結構;樹形目錄結構;圖形目錄結構。
4. 文件共享
共享動機;共享方式;共享語義。
5. 文件保護
訪問類型;訪問控制。
(二) 文件系統實現
1. 文件系統層次結構
2. 目錄實現
3. 文件實現
(三) 磁碟組織與管理
1. 磁碟的結構
2. 磁碟調度演算法
3. 磁碟的管理

五、 輸入輸出(I/O)管理
(一) I/O管理概述
1. I/O設備
2. I/O管理目標
3. I/O管理功能
4. I/O應用介面
5. I/O控制方式
(二) I/O核心子系統
1. I/O調度概念
2. 高速緩存與緩沖區
3. 設備分配與回收
4. 假離線技術(SPOOLing)
5. 出錯處理

計算機網路

【考查目標】
1. 掌握計算機網路的基本概念、基本原理和基本方法。
2. 掌握計算機網路的體系結構和典型網路協議,了解典型網路設備的組成和特點,理解典型網路設備的工作原理
3. 能夠運用計算機網路的基本概念、基本原理和基本方法進行網路系統的分析、設計和應用

一、 計算機網路體系結構
(一) 計算機網路概述
1. 計算機網路的概念、組成與功能
2. 計算機網路的分類
3. 計算機網路與互聯網的發展歷史
4. 計算機網路的標准化工作及相關組織
(二) 計算機網路體系結構與參考模型
1. 計算機網路分層結構
2. 計算機網路協議、介面、服務等概念
3. ISO/OSI參考模型和TCP/IP模型

二、 物理層
(一) 通信基礎
1. 信道、信號、寬頻、碼元、波特、速率等基本概念
2. 奈奎斯特定理與香農定理
3. 信源與信宿
4. 編碼與調制
5. 電路交換、報文交換與分組交換
6. 數據報與虛電路
(二) 傳輸介質
1. 雙絞線、同軸電纜、光纖與無線傳輸介質
2. 物理層介面的特性
(三) 物理層設備
1. 中繼器
2. 集線器

三、 數據鏈路層
(一) 數據鏈路層的功能
(二) 組幀
(三) 差錯控制
1. 檢錯編碼
2. 糾錯編碼
(四) 流量控制與可靠傳輸機制
1. 流量控制、可靠傳輸與滑輪窗口機制
2. 單幀滑動窗口與停止-等待協議
3. 多幀滑動窗口與後退N幀協議(GBN)
4. 多幀滑動窗口與選擇重傳協議(SR)
(五) 介質訪問控制
1. 信道劃分介質訪問控制
頻分多路復用、時分多路復用、波分多路復用、碼分多路復用的概念和基本原理。
2. 隨即訪問介質訪問控制
ALOHA協議;CSMA協議;CSMA/CD協議;CSMA/CA協議。
3. 輪詢訪問介質訪問控制:令牌傳遞協議
(六) 區域網
1. 區域網的基本概念與體系結構
2. 乙太網與IEEE 802.3
3. IEEE 802.11
4. 令牌環網的基本原理
(七) 廣域網
1. 廣域網的基本概念
2. PPP協議
3. HDLC協議
4. ATM網路基本原理
(八) 數據鏈路層設備
1. 網橋
網橋的概念;透明網橋與生成樹算飯;源選徑網橋與源選徑演算法。
2. 區域網交換機及其工作原理。

四、 網路層
(一) 網路層的功能
1. 異構網路互聯
2. 路由與轉發
3. 擁塞控制
(二) 路由演算法
1. 靜態路由與動態路由
2. 距離-向量路由演算法
3. 鏈路狀態路由演算法
4. 層次路由
(三) IPv4
1. IPv4分組
2. IPv4地址與NAT
3. 子網劃分與子網掩碼、CIDR
4. ARP協議、DHCP協議與ICMP協議
(四) IPv6
1. IPv6的主要特點
2. IPv6地址
(五) 路由協議
1. 自治系統
2. 域內路由與域間路由
3. RIP路由協議
4. OSPF路由協議
5. BGP路由協議
(六) IP組播
1. 組播的概念
2. IP組播地址
3. 組播路由演算法
(七) 移動IP
1. 移動IP的概念
2. 移動IP的通信過程
(八) 網路層設備
1. 路由器的組成和功能
2. 路由表與路由轉發

五、 傳輸層
(一) 傳輸層提供的服務
1. 傳輸層的功能
2. 傳輸層定址與埠
3. 無連接服務與面向連接服務
(二) UDP協議
1. UDP數據報
2. UDP校驗
(三) TCP協議
1. TCP段
2. TCP連接管理
3. TCP可靠傳輸
4. TCP流量控制與擁塞控制

六、 應用層
(一) 網路應用模型
1. 客戶/伺服器模型
2. P2P模型
(二) DNS系統
1. 層次域名空間
2. 域名伺服器
3. 域名解析過程
(三) FTP
1. FTP協議的工作原理
2. 控制連接與數據連接
(四) 電子郵件
1. 電子郵件系統的組成結構
2. 電子郵件格式與MIME
3. SMTP協議與POP3協議
(五) WWW
1. WWW的概念與組成結構
2. HTTP協議

❸ 簡單時鍾置換演算法(NLU)當不發生頁面置換也就是命中時,循環隊列中的掃描指針跟著命中的頁移動不

在地址映射過程中,若在頁面中發現所要訪問的頁面不在內存中,則產生缺頁中斷。當發生缺頁中斷時,如果操作系統內存中沒有空閑頁面,則操作系統必須在內存選擇一個頁面將其移出內存,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法。

❹ 頁面置換演算法

  上文說到,請求分頁管理方式中,當需要調入頁面到內存中,但此時內存已滿,就需要從內存中按照一定的置換演算法決定將哪個頁面取出將內存給調入的頁面。本文將介紹幾種頁面置換算方法。
   本文內容

  演算法思想:每次選擇 淘汰的頁面 將是 以後永不使用 ,或者 在最長時間內不再被訪問的頁面 ,這樣可以保證最低的缺頁率。
  舉例說明,假設系統為進程分配了三個內存塊,並考慮到有以下頁面號引用串(會依次訪問這些頁面):7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

  ....按照此演算法依次執行,最後的結果如下

  結果圖

  註:缺頁時未必發生頁面置換,若還有可用的空閑內存空間就不用進行頁面置換。
  最佳置換演算法可以保證最低的缺頁率,但是實際上,只有進程執行的過程中才能知道接下來會訪問到的是哪個頁面。操作系統無法提前預判頁面的訪問序列。因此, 最佳置換演算法是無法實現的

  演算法思想:每次選擇 淘汰的頁面是最早進入內存的頁面。
  該演算法很簡單,每次淘汰最在內存中待時間最久的各個,下面分別給出系統為進程分為配三個內存塊和四個內存塊的執行情況圖。訪問序列為3,2,1,0,3,2,4,3,2,1,0,4
  分配三個內存塊的情況:

  分配四個內存塊的情況:

  當為進程分配的物理塊數增大時,缺頁次數不減反增的異常現象稱為 貝萊迪(Belay)異常
   只有FIFO演算法會產生Belay異常。 另外,FIFO演算法雖然實現簡單,但是該演算法與進程實際運行時的規律不適應。因為先進入的頁面也有可能最經常被訪問。因此, 演算法性能差。

  演算法思想: 每次淘汰的頁面是最近最久未使用的頁面。
  實現方法:賦予每個頁面對應的頁表項中,用 訪問欄位記錄該頁面純虧自上次被訪問以來所經歷的時間t。 當需要淘汰一個頁面時,選擇現有頁面中t最大的頁面,即最近最久未使用。

  舉例說明,加入某系統為某進程分配了四個內存塊,並考慮到有以下頁面號引用串:1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7
  這里先直接給出答案

  結果圖

  最佳置換演算法那性能最好,但無法實現。先進先出置換演算法實現簡單,但是演算法性能差。最近最久未使用置換演算法性能好,是最接近OPT演算法性能的,但是實現起來需要專門的硬體支持,演算法開銷大。 時鍾置換演算法 是一種 性能和開銷均春褲配平衡 的演算法。又稱 CLOCK演算法 ,或 最近未用演算法 NRU ,Not Recently Used)
   簡單CLOCK演算法 演算法思想:為每個頁面設置一個 訪問位 ,再將內存中的頁面都通過 鏈接指針鏈接成一個循環隊列 。當某個頁被訪問時,其訪問位置1.當需要淘汰一個頁面時,只需檢查頁的訪問位。如果是0,就選擇該頁換出;如果是1,暫不換出,將訪問位改為0,繼續檢查下一個頁面,若第一輪掃描中所有的頁面都是1,則將這些頁面的訪問位一次置為0後,再進行第二輪掃描(第二輪掃描中一定會有訪問位為0的頁面,因此簡單的CLOCK演算法選擇一個扒指淘汰頁面最多會經過 兩輪掃描 )。

  這個演算法指針在掃描的過程就像時鍾一樣轉圈,才被稱為時鍾置換演算法。

  簡單的時鍾置換演算法僅考慮到了一個頁面最近是否被訪問過。事實上,如果淘汰的頁面沒有被修改過,就不需要執行I/O操作寫回外存。 只有淘汰的頁面被修改過時,才需要寫回外存。
  因此,除了考慮一個頁面最近有沒有被訪問過之外,操作系統還需要考慮頁面有沒有被修改過。
  改進型時鍾置換演算法的 演算法思想 在其他在條件相同時,應該優先淘汰沒有被修改過的頁面, 從而來避免I/O操作。
  為了方便討論,用(訪問位,修改位)的形式表示各頁面的狀態。如(1,1)表示一個頁面近期被訪問過,且被修改過。
   演算法規則 :將所有可能被置換的頁面排成一個循環隊列

  由於第二輪已將所有的頁的訪問位都設為0,因此第三輪、第四輪掃描一定會選中一個頁,因此 改進型CLOCK置換演算法最多會進行四輪掃描。

  假設系統為進程分配了5個內存塊,某時刻,各個頁的狀態如下圖

  如果此時有新的頁要進入內存,開始第一輪掃描就找到了要替換的頁,即最下面的狀態為(0,0)的頁。

  某一時刻頁面狀態如下

  如果此時有新的頁要進入內存,開始第一輪掃描就發現沒有狀態為(0,0)的頁,第一輪掃描後不修改任何標志位。所以各個頁狀態和上圖一樣。
  然後開始第二輪掃描,嘗試找到狀態為(0,1)的頁,並將掃描過後的頁的訪問位設為0,第二輪掃描找到了要替換的頁。

  某一時刻頁面狀態如下

  第一輪掃描沒有找到狀態為(0,0)的頁,且第一輪掃描不修改任何標志位,所以第一輪掃描後狀態和上圖一致。
  然後開始第二輪掃描,嘗試找狀態為(0,1)的頁,也沒有找到,第二輪掃描需要將訪問位設為1,第二輪掃描後,狀態為下圖

  某一時刻頁面狀態如下

  具體的掃描過程和上面相同,這里只給出最後的結果,如下圖

  所以,改進型的CLOCK置換演算法最多需要四輪掃描確定要置換的頁。從上面的分析可以看出,改進型的CLOCK置換演算法
  (1) 第一優先順序淘汰的是 最近沒有訪問且沒有修改 的頁面。
  (2) 第二優先順序淘汰的是 最近沒有訪問但修改 的頁面。
  (3) 第三優先順序淘汰的是 最近訪問但沒有修改 的頁面。
  (4) 第四優先順序淘汰的是 最近訪問且修改 的頁面。

閱讀全文

與時鍾置換演算法口訣相關的資料

熱點內容
項目經理叫醒程序員 瀏覽:342
autocad旋轉命令 瀏覽:660
手機版wpsoffice怎麼打包文件夾 瀏覽:579
在成都學車用什麼app 瀏覽:818
grep命令管道 瀏覽:426
java修改重啟 瀏覽:567
單片機供電方案 瀏覽:770
airpodspro一代怎麼連接安卓 瀏覽:218
豌豆莢app上有什麼游戲 瀏覽:283
公路商店app標簽選什麼 瀏覽:337
linuxoracle命令行登錄 瀏覽:226
android深度休眠 瀏覽:171
php微信開發例子 瀏覽:845
醫得app登錄密碼是什麼 瀏覽:142
spring開發伺服器地址 瀏覽:411
伺服器上如何查看伺服器的埠 瀏覽:678
單片機伺服器編譯 瀏覽:770
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:956
在word中壓縮圖片大小 瀏覽:255