中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

第五章 虛擬存儲器《計算機操作系統》同步課件(pdf圖片版PPT,共38頁)

資源下載
  1. 二一教育資源

第五章 虛擬存儲器《計算機操作系統》同步課件(pdf圖片版PPT,共38頁)

資源簡介

The Best R&D Courses
虛擬存儲器
    5.1 虛擬存儲器概述
  第四章所介紹的各種存儲器管理方式有一個共同的特點,即它們都要求將一個作業全部裝入內
存后方能運行。于是,出現了下面這樣兩種情況:
  (1) 有的作業很大,其所要求的內存空間超過了內存總容量,作業不能全部被裝入內存,致使該
作業無法運行;
  (2) 有大量作業要求運行,但由于內存容量不足以容納所有這些作業,只能將少數作業裝入內存
讓它們先運行,而將其它大量的作業留在外存上等待
The Best R&D Courses
虛擬存儲器
5.1.1 常規存儲管理方式的特征和局部性原理
  1. 常規存儲器管理方式的特征
  我們把前一章中所介紹的各種存儲器管理方式統稱為傳統存儲器管理方式,它們全都具有如下
兩個共同的特征:
  (1) 一次性
  (2) 駐留性
The Best R&D Courses
虛擬存儲器
  2. 局部性原理
  程序運行時存在的局部性現象,很早就已被人發現,但直到1968年,P.Denning才真正指出:
程序在執行時將呈現出局部性規律,即在一較短的時間內,程序的執行僅局限于某個部分,相應地,
它所訪問的存儲空間也局限于某個區域。
The Best R&D Courses
虛擬存儲器
   局限性又表現在下述兩個方面:
  (1) 時間局限性。
  (2) 空間局限性。
The Best R&D Courses
虛擬存儲器
  3. 虛擬存儲器的基本工作情況
  基于局部性原理可知,應用程序在運行之前沒有必要將之全部裝入內存,而僅須將那些當前要
運行的少數頁面或段先裝入內存便可運行,其余部分暫留在盤上。
The Best R&D Courses
虛擬存儲器
5.1.2 虛擬存儲器的定義和特征
  1. 虛擬存儲器的定義
  當用戶看到自己的程序能在系統中正常運行時,他會認為,該系統所具有的內存容量一定比自
己的程序大,或者說,用戶所感覺到的內存容量會比實際內存容量大得多。但用戶所看到的大容量
只是一種錯覺,是虛的,故人們把這樣的存儲器稱為虛擬存儲器。
The Best R&D Courses
虛擬存儲器
  2. 虛擬存儲器的特征
  與傳統的存儲器管理方式比較,虛擬存儲器具有以下三個重要特征:
  (1) 多次性。
  (2) 對換性。
  (3) 虛擬性。
The Best R&D Courses
虛擬存儲器
5.1.3 虛擬存儲器的實現方法
  1. 分頁請求系統
  1) 硬件支持
  主要的硬件支持有:
  (1) 請求分頁的頁表機制。
  (2) 缺頁中斷機構。
  (3) 地址變換機構。
  2) 實現請求分頁的軟件
The Best R&D Courses
虛擬存儲器
  2. 請求分段系統
  1) 硬件支持
  主要的硬件支持有:
  (1) 請求分段的段表機制。
  (2) 缺頁中斷機構。
  (3) 地址變換機構。
  2) 軟件支持
The Best R&D Courses
虛擬存儲器
5.2 請求分頁存儲管理方式
5.2.1 請求分頁中的硬件支持
  為了實現請求分頁,系統必須提供一定的硬件支持。計算機系統除了要求一定容量的內存和外
存外,還需要有請求頁表機制、缺頁中斷機構以及地址變換機構。
The Best R&D Courses
虛擬存儲器
  1. 請求頁表機制
  在請求分頁系統中需要的主要數據結構是請求頁表,其基本作用仍然是將用戶地址空間中的邏
輯地址映射為內存空間中的物理地址。為了滿足頁面換進換出的需要,在請求頁表中又增加了四個
字段。這樣,在請求分頁系統中的每個頁表應含以下諸項:
頁號 物理塊號 狀態位 P 訪問字段 A 修改位 M 外存地址
The Best R&D Courses
虛擬存儲器
  2. 缺頁中斷機構
  (1) 在指令執行期間產生和處理中斷信號。
  (2) 一條指令在執行期間可能產生多次缺頁中斷。
The Best R&D Courses
虛擬存儲器
3. 地址變換機構
  請求分頁系統中的地址變換機構是在分頁系統地址變換機構的基礎上,為實現虛擬存儲器,再
增加了某些功能所形成的,如產生和處理缺頁中斷,以及從內存中換出一頁的功能等等。
The Best R&D Courses
虛擬存儲器
5.2.3 頁面調入策略
  為使進程能夠正常運行,必須事先將要執行的那部分程序和數據所在的頁面調入內存。現在的
問題是:
  (1) 系統應在何時調入所需頁面;
  (2) 系統應從何處調入這些頁面;
  (3) 是如何進行調入的。
The Best R&D Courses
虛擬存儲器
  1. 何時調入頁面
  (1) 預調頁策略。
  (2) 請求調頁策略。
The Best R&D Courses
虛擬存儲器
  2. 從何處調入頁面
  (1) 系統擁有足夠的對換區空間,這時可以全部從對換區調入所需頁面,以提高調頁速度。
  (2) 系統缺少足夠的對換區空間,這時凡是不會被修改的文件,都直接從文件區調入;而當換出
這些頁面時,由于它們未被修改,則不必再將它們重寫到磁盤(換出),以后再調入時,仍從文件區直
接調入。但對于那些可能被修改的部分,在將它們換出時便須調到對換區,以后需要時再從對換區
調入。
  (3) UNIX方式。
The Best R&D Courses
虛擬存儲器
  3. 頁面調入過程
  每當程序所要訪問的頁面未在內存時(存在位為“0”),便向CPU發出一缺頁中斷,中斷處理程
序首先保留CPU環境,分析中斷原因后轉入缺頁中斷處理程序。
The Best R&D Courses
虛擬存儲器
  4. 缺頁率
  假設一個進程的邏輯空間為n頁,系統為其分配的內存物理塊數為m(m≤n)。如果在進程的運行
過程中,訪問頁面成功(即所訪問頁面在內存中)的次數為S,訪問頁面失敗(即所訪問頁面不在內存中,
需要從外存調入)的次數為F,則該進程總的頁面訪問次數為A = S + F,那么該進程在其運行過程中
的缺頁率即為
f F
A
The Best R&D Courses
虛擬存儲器
  事實上,在缺頁中斷處理時,當由于空間不足,需要置換部分頁面到外存時,選擇被置換頁面
還需要考慮到置換的代價,如頁面是否被修改過。沒有修改過的頁面可以直接放棄,而修改過的頁
面則必須進行保存,所以處理這兩種情況時的時間也是不同的。假設被置換的頁面被修改的概率是
β,其缺頁中斷處理時間為ta,被置換頁面沒有被修改的缺頁中斷時間為tb,那么,缺頁中斷處理時
間的計算公式為
t=β×ta+(1—β)×tb
The Best R&D Courses
虛擬存儲器
     5.3 頁面置換算法
  在進程運行過程中,若其所要訪問的頁面不在內存,而需把它們調入內存,但內存已無空閑空
間時,為了保證該進程能正常運行,系統必須從內存中調出一頁程序或數據送到磁盤的對換區中。
但應將哪個頁面調出,須根據一定的算法來確定。通常,把選擇換出頁面的算法稱為頁面置換算法
(Page-Replacement Algorithms)。置換算法的好壞將直接影響到系統的性能。
The Best R&D Courses
虛擬存儲器
5.3.1 最佳置換算法和先進先出置換算法
  1. 最佳(Optimal)置換算法
  最佳置換算法是由Belady于1966年提出的一種理論上的算法。其所選擇的被淘汰頁面將是以后
永不使用的,或許是在最長(未來)時間內不再被訪問的頁面。采用最佳置換算法通常可保證獲得最低
的缺頁率。但由于人們目前還無法預知,一個進程在內存的若干個頁面中,哪一個頁面是未來最長
時間內不再被訪問的,因而該算法是無法實現的,但可以利用該算法去評價其它算法。
The Best R&D Courses
虛擬存儲器
圖5-3 利用最佳頁面置換算法時的置換圖
The Best R&D Courses
虛擬存儲器
  2. 先進先出(FIFO)頁面置換算法
  FIFO算法是最早出現的置換算法。該算法總是淘汰最先進入內存的頁面,即選擇在內存中駐留
時間最久的頁面予以淘汰。該算法實現簡單,只需把一個進程已調入內存的頁面按先后次序鏈接成
一個隊列,并設置一個指針,稱為替換指針,使它總是指向最老的頁面。但該算法與進程實際運行
的規律不相適應,因為在進程中,有些頁面經常被訪問,比如,含有全局變量、常用函數、例程等
的頁面,FIFO算法并不能保證這些頁面不被淘汰。
The Best R&D Courses
虛擬存儲器
  圖5-4 利用FIFO置換算法時的置換圖
The Best R&D Courses
虛擬存儲器
5.3.2 最近最久未使用和最少使用置換算法
  1. LRU(Least Recently Used)置換算法的描述
  FIFO置換算法的性能之所以較差,是因為它所依據的條件是各個頁面調入內存的時間,而頁面
調入的先后并不能反映頁面的使用情況。最近最久未使用(LRU)的頁面置換算法是根據頁面調入內存
后的使用情況做出決策的。
The Best R&D Courses
虛擬存儲器
圖5-5 LRU頁面置換算法
The Best R&D Courses
虛擬存儲器
  3. 最少使用(Least Frequently Used,LFU)置換算法
  在采用LFU算法時,應為在內存中的每個頁面設置一個移位寄存器,用來記錄該頁面被訪問的
頻率。該置換算法選擇在最近時期使用最少的頁面作為淘汰頁。
The Best R&D Courses
虛擬存儲器
5.3.3 Clock置換算法
  1. 簡單的Clock置換算法
  當利用簡單Clock算法時,只需為每頁設置一位訪問位,再將內存中的所有頁面都通過鏈接指針
鏈接成一個循
環隊列。
The Best R&D Courses
虛擬存儲器
圖5-8 簡單Clock置換算法的流程和示例
The Best R&D Courses
虛擬存儲器
  2. 改進型Clock置換算法
  在將一個頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁盤上;但如果該頁未被
修改過,則不必將它拷回磁盤。換而言之,對于修改過的頁面,在換出時所付出的開銷比未修改過
的頁面大,或者說,置換代價大。在改進型Clock算法中,除須考慮頁面的使用情況外,還須再增加
一個因素——置換代價。
The Best R&D Courses
虛擬存儲器
    5.5 請求分段存儲管理方式
5.5.1 請求分段中的硬件支持
  為了實現請求分段式存儲管理,應在系統中配置多種硬件機構,以支持快速地完成請求分段功
能。與請求分頁系統相似,在請求分段系統中所需的硬件支持有段表機制、缺段中斷機構,以及地
址變換機構。
The Best R&D Courses
虛擬存儲器
  1. 請求段表機制
  在請求分段式管理中所需的主要數據結構是請求段表。在該表中除了具有請求分頁機制中有的
訪問字段A、修改位M、存在位P和外存始址四個字段外,還增加了存取方式字段和增補位。這些字
段供程序在調進、調出時參考。下面給出請求分段的段表項。
段名 段長 段基址 存取方式 訪問字段 A 修改位 M 存在位 P 增補位 外存始址
The Best R&D Courses
虛擬存儲器
  2. 缺段中斷機構
  在請求分段系統中采用的是請求調段策略。每當發現運行進程所要訪問的段尚未調入內存時,
便由缺段中斷機構產生一缺段中斷信號,進入OS后,由缺段中斷處理程序將所需的段調入內存。與
缺頁中斷機構類似,缺段中斷機構同樣需要在一條指令的執行期間產生和處理中斷,以及在一條指
令執行期間,可能產生多次缺段中斷。但由于分段是信息的邏輯單位,因而不可能出現一條指令被
分割在兩個分段中,和一組信息被分割在兩個分段中的情況。缺段中斷的處理過程如圖5-12所示。
The Best R&D Courses
虛擬存儲器
  3. 地址變換機構
  請求分段系統中的地址變換機構是在分段系統地址變換機構的基礎上形成的。因為被訪問的段
并非全在內存,所以在地址變換時,若發現所要訪問的段不在內存,必須先將所缺的段調入內存,
并修改段表,然后才能再利用段表進行地址變換。為此,在地址變換機構中又增加了某些功能,如
缺段中斷的請求及處理等。圖5-13示出了請求分段系統的地址變換過程。
The Best R&D Courses
虛擬存儲器
5.5.2 分段的共享與保護
  1. 共享段表
  (1) 共享進程計數count。
  (2) 存取控制字段。
  (3) 段號。
The Best R&D Courses
虛擬存儲器
  2. 共享段的分配與回收
  1) 共享段的分配
  2) 共享段的回收
The Best R&D Courses
虛擬存儲器
  3. 分段保護
  在分段系統中,由于每個分段在邏輯上是相對獨立的,因而比較容易實現信息保護。目前,常
采用以下幾種措施來確保信息的安全。
  1) 越界檢查
  2) 存取控制檢查
  3) 環保護機構
The Best R&D Courses

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 扶风县| 玛曲县| 麟游县| 娄烦县| 城固县| 铁岭县| 文成县| 乌拉特中旗| 皋兰县| 淅川县| 东至县| 长武县| 建宁县| 清涧县| 象山县| 余庆县| 大宁县| 监利县| 浑源县| 青阳县| 广东省| 房产| 泗洪县| 西华县| 连平县| 仁寿县| 通州区| 腾冲县| 商南县| 大悟县| 增城市| 合作市| 天长市| 赤水市| 阳高县| 页游| 正安县| 和林格尔县| 阿拉尔市| 石台县| 晋江市|