第9章 虛擬記憶體 (virtual memory)

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

教师队伍建设 组员:王英利 赵香媖 侯娟. 主讲内容 2. 中小学教师队伍建设 1. 职业教育师资队伍建设国际比较 3. 高校教师队伍建设与管理.
中国电子学会 SMT 专业技术资格认证委员会. 彭志聪 广东省电子学会 副理事长兼秘书长 高级工程师 成果曾获 国家科技进步三等奖,广东省科技进步二等奖 国家科委优秀科技成果二等奖,广东省科委一等奖 承担并主持经国家科协批准,中国电子学会在全国开展 的电子表面组装( SMT )专业技术资格社会化认证体系建.
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
提 纲 三次考察与改革的回顾 1 学院三周来的新面貌 及下一步工作思路 2 凝心聚力、团结协作、狠抓落实 3.
——以通渭县图书馆青树小项目“携老上网游”为例
CHAPTER 9 虛擬記憶體管理 9.2 分頁需求 9.3 寫入時複製 9.4 分頁替換 9.5 欄的配置法則 9.6 輾轉現象
2013浙江省行测专题 密卷解析及备考冲刺 罗 姮.
Foundations of Computer Science
做好就业与自主创业的准备.
第四章 存储系统 计算机科学技术系 2006 年 4 月.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
參考資料: 張淳淳,Chap. 12 清華大學圖書館利用指引
中国好看的PPT模板网: 搜集整理发布
欢迎南京市政治学科的教研同仁 光临指导.
§2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统中 目前许多微型机也开始使用虚拟存储器
操作系统 Operating System.
第三章 心理安全 广西师范大学 罗蕾.
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
第四章 存储器管理.
William Stallings 计算机组成与结构(第8版)
第四章 存储体系.
Chapter 9: Memory Management
Memory Hierarchy Design
时间管理 -----高一团体辅导.
—营造健康网络生活环境 王立丰 ISA与企业网络安全管理 —营造健康网络生活环境 王立丰
版权所有,引用请注明出处 第四章、存储系统-2 原著 谭志虎 主讲(改编) 蒋文斌.
第6章 電腦軟體 應用軟體 多元程式處理 系統軟體 記憶體配置 作業系統簡介 虛擬記憶體 作業系統的演進與發展 行程管理
第 2 章 中央處理單元.
Chapter 4 Network Layer (網路層).
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
ARM存储器结构 ARM架构的处理器的存储器寻址空间有4G字节 ,存储空间可以分为 :
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
Course 4 搜尋 Search.
CHAPTER 8 VIRTUAL MEMORY
5 Computer Organization (計算機組織).
作業系統 第八章 記憶體管理.
Operating System Internals and Design principles
Chapter 3 行程觀念 (Process Concept)
第 5 章、連結與載入 作者:陳鍾誠 旗標出版社.
Applied Operating System Concepts
第8章 記憶體管理的概念.
F & B Industry 餐 飲 業.
計算機概論 第3章 計算機組織與結構概觀.
附錄1 簡報資料 船舶設籍制度之探討 交通部運輸研究所 中華民國97年4月.
合泰半导体股份有限公司 技术讲座 - Holtek V3 C Compiler介绍 主讲人:王幼端 2017/06/15.
Operation System(OS).
作業系統 Operating System 第四單元 檔案系統
第四章 存储器管理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式
第四章 存 储 器 管 理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配存储管理方式
主存管理 第6章 主存管理.
作業系統 第九章 虛擬記憶體.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
计算机系统结构(2012年春) ----存储层次: Cache基本概念
賴禎秀 教授 編著 國立台灣海洋大學商船學系碩士班
1.
Chap2 Stack & Queue.
第7章 進階的同步 觀念與實務.
基于MapReduce的Join算法优化
Chapter 7 掌控記憶體.
第六章 記憶體.
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
第五章 虚 拟 存 储 器 5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
獨孤派作業系統 main memory 中正大學 作業系統實驗室 指導教授:羅習五.
第11章 儲存裝置 與其管理.
作業系統概論 授課老師: 羅習五.
第六章 直接成本法.
Presentation transcript:

第9章 虛擬記憶體 (virtual memory)

基本觀念 生意好的餐廳有所謂的翻桌率,也就是在同一段進餐時間,同一桌可能可以陸續讓好幾組客人依序用餐。所以即使餐廳只有10張桌面,可能一個中午出了 30桌的菜量 電腦的記憶體空間也有限,為了服務更多的處理元,作業系統也採用類似的概念,而且有過之而無不及,處理元執行時需要的資料放置到記憶體中,即使有的放不下,也暫時放到磁碟上,等需要用到時再想辦法移到記憶體中

隨選分頁(demand paging) 隨選分頁的方法可以讓一個程式在沒有完全載入到主記憶體中的情況下,依然能夠繼續執行 如此一來,程式占有空間的大小就比較沒有限制了 這種技術稱為虛擬記憶體(virtual memory) ,分頁本身在系統的安排下,能夠在磁碟與主記憶體中移動,讓使用者覺得執行的程式一直都位於主記憶體中

分頁與分段虛擬記憶體技術比較

虛擬記憶體技術的優點 執行程式的大小可以不受限於主記憶體空間的大小。 記憶體的使用會更有效率,因為程式會用到的部分才會占用記憶體的空間。 可以進行更廣泛的多工(multiprogramming)。 避免external fragmentation的問題,降低internal fragmentation的程度。 容許程式碼與資料的共用。 讓程式片段的動態連結(dynamic linking)更容易。

虛擬記憶體的缺點 處理器硬體成本增加 處理分頁中斷(page interrupts)的額外成本 為了避免頻繁置換(thrashing)而增加的軟體複雜性

虛擬記憶體運作的方式

虛擬記憶體的機制 虛擬記憶體可以讓沒有完全存在於主記憶體中的處理元能夠執行 換句話說,處理元的位址空間(address space)並沒有完全載入到主記憶體中 做法是把處理元的位址空間分割,如此一來,需要用到的位址空間分割(address space partition)必須載入,還用不上的就可以先存在secondary memory裡頭

虛擬記憶體擴充主記憶體空間的原理

實體記憶體的抽象化 虛擬記憶體管理員在secondary memory建立的虛擬位址空間(virtual address space)可以看成是實體記憶體的抽象化 當系統運作時,虛擬記憶體管理員會自動控制主記憶體與虛擬記憶體之間的對應,促成資料方塊在主記憶體與次記憶體間自動的移轉 在虛擬位址空間存在的情況下,對於使用者來說,其實虛擬位址空間跟實體位址空間並沒有差別,只是在程式用到虛擬位址空間的時候,作業系統要把資料搬到實體記憶體中

位址對應的過程

分段式的虛擬記憶體機制(segmentation) 分段式的虛擬記憶體和relocation register與limit register的方法近似,由程式設計者本身決定程式的分割方式,產生大小不一的分段(segment) 例如UNIX C compiler訂的text, data與stack segment 分割之後,記憶體空間的位置就可以用 : <分段號碼, 平移量(offset)> 來決定 分段號碼指定記憶體的某個區塊,平移量指所在之處與分段起點之間的距離 分段本身就成為虛擬記憶體管理員在主記憶體與次記憶體之間移動資料的單位

分段式的記憶體配置方式

SMT的內容與用途

分段法的實作

分頁的記憶體配置(paged memory allocation) 分頁的記憶體配置方式將CPU所要處理的job分成大小一樣的分頁(page) 有的作業系統以記憶體區塊的大小為分頁的大小,而且也剛好跟磁碟上區塊的大小一樣

分頁的記憶體配置(paged memory allocation)方式

分頁的虛擬記憶體機制(paging) 分頁的虛擬記憶體機制(paging)使用單一成份的位址,虛擬記憶體空間分成線性的(linear)虛擬位址 程式設計者不需要知道虛擬記憶體空間如何運作,完全由虛擬記憶體管理程式負責把固定大小的分頁(page)依照需求在主記憶體與次記憶體之間移動 在實作上,分頁機制比較簡單,使用者對於技術上的細節不必了解 每個處理元的虛擬位址空間分成邏輯上的分頁,外部空間散佈的問題(external fragmentation)比較小

常見的分頁配置演算法 靜態配置演算法(static allocation) 動態配置演算法(dynamic allocation)

靜態分頁配置演算法(static paging algorithm) 取用政策(fetch policy) : 決定分頁何時載入主記憶體。 替換政策 (replacement policy) : 決定系統資源不足時那一個分頁應卸載。 置放政策 (placement policy) : 決定取用的分頁應放在何處。

取用政策(fetch policy) 取用政策決定分頁那時候會被載入到主記憶體中 分頁演算法通常不會預先知道分頁引用的順序,所以要做到預先擷取(prefetch)是不太可能的,prefetch是指在分頁被引用之前就先載入到主記憶體中 大多數的演算法都採用所謂的依需求取用分頁(demand paging)的方法,也就是當程式引用到分頁時才將分頁載入到主記憶體中

需求分頁法(demand paging) 依需求分頁(demand paging)的觀念是指只將程式的一部分載入到記憶體中 原本在job開始執行一直到結束,整個job都要放在記憶體中 假如程式引用到沒有載入的分頁,再將分頁載入到page frame

Belady的靜態配置演算法

LRU的靜態配置演算法

LFU的靜態配置演算法

FIFO的靜態配置演算法

只使用了3個page frame的FIFO靜態配置演算法

動態分頁配置演算法(dynamic paging algorithm) 動態配置演算法會考量處理元執行過程中需求的改變,修正記憶體的配置情況 處理元引用記憶體位址的區域性關聯(locality)在此就可以派上用場 工作集演算法(working set algorithm)就是著名的動態配置演算法

工作集(working set) 一個job的工作集(working set)是記憶體中job使用的pages的集合 當使用者開始執行程式以後,開始會有pages載入到記憶體中,經過一陣子以後,大多數的程式對於pages的存取都會進入穩定的狀態,很少有page fault發生,代表job會用到的pages都已經在主記憶體中,這些pages就形成了job的working set 程式的執行有可能在進入另一個階段以後又開始產生page faults,因為用到的working set改變了

工作集中兩個重要的觀念 為什麼不乾脆把job的working set中所有的pages一次全部都載入到記憶體中呢 ? 首先,working set會隨locality而改變,所以除非是把所有用道pages都載入,否則無法全部一次都載入。 分時系統中會有job swapping的現象,重新載入記憶體的job一開始都會產生很多page faults,影響系統的效能。

Window size為3的工作集動態配置演算法

Window size為4的工作集動態配置演算法

Window size為9的工作集動態配置演算法

使用4個page frames但是引用次序不同的工作集動態配置演算法

分段分頁法的原理