操作系统原理 Operating System Principles

Slides:



Advertisements
Similar presentations
青少年儿童常见伤害的预防. 伤害的定义 伤害是指各种物理性、化学性或生物性 事件而导致人体发生暂时或永久性损 伤、死亡和残疾的一类疾病的总称。
Advertisements

2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
第3单元 主存管理 第3节 分页存储管理 一页一页的放………… 怎么解决分段带来的碎片问题? 页与页框 地址映射 多级页表 快表 举例
2017年3月5日 单片机原理与应用 背景知识调查.
第8章 虚拟存储器 硬件和控制结构 操作系统软件 虚拟存储管理实例 虚拟页式存储管理 虚拟段式存储管理 虚拟段页式存储管理
总复习 级一本各专业.
操作系统 Operating System.
实用操作系统概念 张惠娟 副教授 1.
第3章 存储管理 3.1 存储管理概述 3.2 基于连续分配的内存管理方法 3.3 基于离散分配的内存管理方法 3.4 虚拟存储管理
学习目标 理解并掌握请求分页存储管理系统中的硬件支持 理解请求分页存储管理系统中的内存分配策略和分配算法 掌握主要页面置换算法.
小学生游戏.
第4章 存储管理 本章学习目标 4.1 存储管理的功能 4.2 实存管理 4.3 虚拟存储器管理 4.4 碎片与抖动问题 开 始.
第五章 存储管理 2006年11月.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第四章 存储器管理.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
存储系统.
Applied Operating System Concepts
大学计算机基础 典型案例之一 构建FPT服务器.
辅导课程六.
临界区软件互斥软件实现算法.
存储管理 存储体系 存储管理的任务 分区存储管理 页式存储管理 交换技术与覆盖技术 虚拟存储.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第九章 存储管理 9.1 概述 一、存储器的层次:三级存储器结构 本章主要讨论几种常用的内存管理技术。 Cache 内存 外存 由硬件寄存器
逆向工程-汇编语言
动态规划(Dynamic Programming)
CPU结构和功能.
操作系统原理 Operating System Principles
使用矩阵表示 最小生成树算法.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
顺序表的删除.
作业情况 已交作业人数:140人 凡是自己没有交过作业的同学,课后留下,有话要说。 2. 文件名范例: 姓名:王树武 wshw_1.c
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
Windows98虚拟存储技术 (1)Intel80386提供的存储管理方式
段式存储管理(Segmentation)
第五章 虚 拟 存 储 器 5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集
临界区问题的硬件指令解决方案 (Synchronization Hardware)
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
第9章 存储管理.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
习题课 11/24/11 11/24/11 Operating System.
24 or 1024? PWN Jawbone Up24 手环.
第十七讲 密码执行(1).
插入排序的正确性证明 以及各种改进方法.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
Presentation transcript:

操作系统原理 Operating System Principles 四川大学计算机学院 段 磊 leiduan@scu.edu.cn 2014

第7章 虚拟存储器管理 虚拟存储器管理为解决内存扩充问题而提出,其实现思想是将外存作为内存的扩充,作业运行不需要将作业的全部信息放入内存。 第7章 虚拟存储器管理 虚拟存储器管理为解决内存扩充问题而提出,其实现思想是将外存作为内存的扩充,作业运行不需要将作业的全部信息放入内存。 虚拟存储器的实现基础是内存的分页式或分段式管理,采用的是进程页面或分段在内存与外存之间对换

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 虚拟存储器的概念 虚拟存储器的特征 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

虚拟存储器的引入 常规存储管理的特征: 局部性原理 程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的。 一次性(指全部装入) 驻留性(指驻留在内存不换出) 局部性原理 时间局部性:如循环执行 空间局部性:如顺序执行。 过程调用将会使程序的执行轨迹变化,但在一段时间内都局限在一定过程的范围内运行。 程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行。 程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内 2019/4/23 《计算机操作系统》- 第7章

虚拟存储器的引入 常规存储管理的特征: 局部性原理 程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的。 程序或数据访问的特点: 顺序性 局限性 多次性 独立性 常规存储管理的特征: 一次性(指全部装入) 驻留性(指驻留在内存不换出) 局部性原理 时间局部性:如循环执行 空间局部性:如顺序执行。 过程调用将会使程序的执行轨迹变化,但在一段时间内都局限在一定过程的范围内运行。 程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行。 程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内。 2019/4/23 《计算机操作系统》- 第7章

2019/4/23 《计算机操作系统》- 第7章

虚拟存储器的引入 虚拟存储器 需要动态重定位 具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储系统。 实质:以时间换空间,但时间牺牲不大。 需要动态重定位 2019/4/23 《计算机操作系统》- 第7章

虚拟存储器的实现方式 请求分页系统 以页为单位转换 需硬件: 需实现请求分页机制的软件(置换软件等) (1)请求分页的页表机制 (2)缺页中断 (3)地址变换机构 需实现请求分页机制的软件(置换软件等) 2019/4/23 《计算机操作系统》- 第7章

虚拟存储器的实现方式 请求分段系统 以段为单位转换: 需实现请求分段机制的软件(置换软件等) (1)请求分段的段表结构 (2)缺段中断 (3)地址变换机构 需实现请求分段机制的软件(置换软件等) 2019/4/23 《计算机操作系统》- 第7章

7.1.2 虚拟存储器的特征 离散性 部分装入 多次性 局部装入,多次装入 对换性 虚拟性 2019/4/23 《计算机操作系统》- 第7章

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 请求分页的硬件支持 分页虚拟存储器管理实施中的策略问题 7.3 页面置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

7.2.1 请求分页中的硬件支持 页表机制 缺页中断机构 地址变换机构 2019/4/23 《计算机操作系统》- 第7章

请求分页中的硬件支持 页表机制 状态位P: 访问字段A: 修改位M: 外存地址: 用于指示该页是否已调入内存,供程序访问时参考。 页号 物理块号 状态位P 访问字段A 修改位M 外存地址 状态位P: 用于指示该页是否已调入内存,供程序访问时参考。 访问字段A: 用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,供选择换出页面时参考。 修改位M: 表示该页在调入内存后是否被修改过,供置换页面时参考。 外存地址: 用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。 2019/4/23 《计算机操作系统》- 第7章

请求分页中的硬件支持 缺页中断机构 当所要访问的页面不在内存时,产生缺页中断,请求OS将所缺之页调入内存。 与其他中断的区别 可在指令执行期间产生 一条指令在执行期间,可能产生多次缺页中断。 (如图7.3) 2019/4/23 《计算机操作系统》- 第7章

地址变换过程 增加 中断处理 2019/4/23 《计算机操作系统》- 第7章

最小物理块数 7.2.2 分页虚拟存储器管理实施中的策略问题 保证进程正常运行所需的最小物理块数 不同的作业要求不同 如:允许间接寻址:则至少要求3个物理块。 Mov A, [B] 2019/4/23 《计算机操作系统》- 第7章

内存分配策略和分配算法 固定与可变: 局部与全局: 指为进程分配的物理块数是固定的还是变化的 指因内存不够需要置换时,换出的页面是该进程的页面,还是内存中所有进程的某一页面。 2019/4/23 《计算机操作系统》- 第7章

内存分配策略和分配算法 页面分配和置换策略 固定分配局部置换 可变分配全局置换 可变分配局部置换 缺点:难以确定固定分配的页数.(少:置换率高 多:浪费) 可变分配全局置换 可变分配局部置换 根据进程的缺页率进行页面数调整,进程之间相互不会影响。 2019/4/23 《计算机操作系统》- 第7章

内存分配策略和分配算法 分配算法 平均分配算法 按比例分配算法 考虑优先权的分配算法 2019/4/23 《计算机操作系统》- 第7章

调页策略 1.调入时机: 2.从何处调页: 3.页面调入过程 预调:(根据空间局部性) 目前:成功率≤50% 请求调:较费系统开销 各有优劣 对换区:修改过的页被换出时入对换区, 快 文件区: 稍慢 对共享页,应判断其是否在内存区。 3.页面调入过程 2019/4/23 《计算机操作系统》- 第7章

页面调入过程 2019/4/23 《计算机操作系统》- 第7章

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 先进先出(FIFO)页面置换算法 最佳(optimal)页面置换算法 最近最久未使用(LRU)页面置换算法 时钟(clock)置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

主要置换算法 理想淘汰算法—最佳页面算法(OPT) 先进先出页面淘汰算法(FIFO) 最近最久未使用页面淘汰算法(LRU) 淘汰以后不再需要的或最远的将来才会用到的页面 先进先出页面淘汰算法(FIFO) 淘汰在内存中驻留时间最长的页并淘汰 最近最久未使用页面淘汰算法(LRU) 淘汰最后一次访问时间距离当前时间最长的一页 即淘汰没有使用的时间最长的页 Clock置换算法-LRU近似算法 最不经常使用(LFU) 淘汰访问次数最少的页面 2019/4/23 《计算机操作系统》- 第7章

举例 在一个请求分页系统中,假设一个作业的页面走向为: 4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 1 4 3 5 4 3 2 1 5 当分配给该作业的物理块数M分别是3和4时,请计算不同页面置换算法下,访问过程中所发生的缺页次数和缺页率。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-OPT 思想: 效果: 评价: 选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。 通常可保证获得最低的缺页率。 评价: 由于人们无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法无法实现 可以利用该算法去评价其它算法 2019/4/23 《计算机操作系统》- 第7章

举例 采用OPT淘汰算法,当M=3时 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+- 3 4 + 1+- 3 4 + 1- 3 4 1- 3 4 5+- 3 4 + 5 3 4- 5 3- 4 5 2+- 4 + 5 1+- 4 + 5- 1 4 由表可以算出缺页中断次数F=7,而缺页率:7/12=58%。 2019/4/23 《计算机操作系统》- 第7章

举例 采用OPT淘汰算法,当M=4时 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+ 3 4 + 1+- 2 3 4 + 1- 2 3 4 1- 2 3 4 5+- 2 3 4 + 5 2 3 4- 5 2 3- 4 5 2- 3 4 5 1+- 3 4 + 5- 1 3 4 由表可以算出缺页中断次数F=6,而缺页率:6/12=50%。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-FIFO 思想: 效果: 评价: 总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。 实现简单。 与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,该算法并不能保证这些页面不被淘汰。 2019/4/23 《计算机操作系统》- 第7章

举例 如果采用FIFO替换算法,当M=3时 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+ 3 4- + 1+ 2 3- + 4+ 1 2- + 3+ 4 1- + 5+ 3 4- + 5 3 4- 5 3 4- 2+ 5 3- + 1+ 2 5- + 1 2 5- 由表可以算出缺页中断次数F=9,而缺页率:9/12=75%。 2019/4/23 《计算机操作系统》- 第7章

举例 采用FIFO替换算法,当M=4时 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+ 3 4 + 1+ 2 3 4- + 1 2 3 4- 1 2 3 4- 5+ 1 2 3- + 4+ 5 1 2- + 3+ 4 5 1- + 2+ 3 4 5- + 1+ 2 3 4- + 5+ 1 2 3- + 由表可以算出缺页中断次数F=10,而缺页率:10/12=83%。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-LRU 思想: 效果: 评价: 根据页面调入内存后的使用情况进行决策的。选择最近最久未使用的页面予以淘汰。 较好。 需要有较多的硬件支持(寄存器、栈)。 2019/4/23 《计算机操作系统》- 第7章

举例 当M=3时,采用LRU替换算法: 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+ 3 4- + 1+ 2 3- + 4+ 1 2- + 3+ 4 1- + 5+ 3 4- + 4 5 3- 3 4 5- 2+ 3 4- + 1+ 2 3- + 5+ 1 2- + 算出缺页中断次数F=10,缺页率f =10/12=83%。 2019/4/23 《计算机操作系统》- 第7章

举例 当M=4时,采用LRU替换算法: 5 1 2 3 4 P 12 11 10 9 8 7 6 F M 时刻 4+ + 3+ 4 + 2+ 3 4 + 1+ 2 3 4- + 4 1 2 3- 3 4 1 2- 5+ 3 4 1- + 4 5 3 1- 3 4 5 1- 2+ 3 4 5- + 1+ 2 3 4- + 5+ 1 2 3- + 由表可以算出缺页中断次数F=8,而缺页率:8/12=67%。 2019/4/23 《计算机操作系统》- 第7章

结论 总结: 通过以上缺页次数和缺页率的分析计算,可以看出: 对于LRU、OPT算法,增加物理块数,不会增加缺页次数。 对于FIFO算法,增加物理块数,不一定能减少缺页次数。 OPT算法仅是一种理论算法,不作为实用算法,仅用于算法的比较和评价。 2019/4/23 《计算机操作系统》- 第7章

结论 讨论: 计算缺页次数和缺页率时,要注意初始时刻所有物理块为空。 调入页面时,不需要页面替换,但是需要引起缺页中断。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-Clock/NRU 思想: 为每页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列。 当某页被访问时,其访问位被置1。 置换算法在选择一页淘汰时,只需检查页的访问位。如果是0,就选择该页换出;若为1,则重新将它置0,暂不换出,而给该页第二次驻留内存的机会,再按照FIFO算法检查下一个页面。 当检查到队列中的最后一个页面时,若其访问位仍为1,则再返回到队首去检查第一个页面。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-Clock/NRU 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-Clock/NRU 该算法只有一位访问位,只能用它表示该页是否已经使用过,而置换时是将未使用过的页面换出去,故又把该算法称为最近未用算法NRU (Not Recently Used)。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-改进型Clock 思想: 考虑页面的使用情况外,还须再增加一个因素,即置换代价。 选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。把同时满足这两个条件的页面作为首选淘汰的页面。 由访问位A和修改位M可以组合成四种类型的页面: 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-改进型Clock 思想: 考虑页面的使用情况外,还须再增加一个因素,即置换代价。 选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。把同时满足这两个条件的页面作为首选淘汰的页面。 由访问位A和修改位M可以组合成四种类型的页面:   1类(A=0,M=0):表示该页最近既未被访问,又未被修改,是最佳淘汰页。   2类(A=0,M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。   3类(A=1,M=0):表示该页最近已被访问,但未被修改,该页有可能再被访问。   4类(A=1,M=1):表示该页最近已被访问且被修改,该页可能再被访问。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-改进型Clock 实施步骤: 第一步: 从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A。 第二步: 如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0。 第三步: 如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。 评价: 该算法与简单Clock算法比较,可减少磁盘的I/O操作次数。但为了找到一个可置换的页,可能须经过几轮扫描。换言之,实现该算法本身的开销将有所增加。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-LFU(最少使用) 思想: 为在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率。 选择在最近时期使用最少的页面作为淘汰页。 2019/4/23 《计算机操作系统》- 第7章

页面置换算法-页面缓冲 引入 思想: 评价: 其他算法需要硬件支持,例如:LRU、Clock等; 置换一个已修改的页比置换未修改页的开销要大。 思想: 采用了可变分配和局部置换方式,置换算法为FIFO。 将一个被淘汰的页放入两个链表中的一个,即如果页面未被修改,就将它直接放入空闲链表中;否则,便放入已修改页面的链表中。 评价: 可改善分页系统的性能,又可采用一种较简单的置换策略 2019/4/23 《计算机操作系统》- 第7章

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 页面调度对系统性能的影响分析 工作集模型 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

讨论 影响缺页次数的因素 颠簸/抖动 分配给进程的物理块数 页本身的大小 程序的编制方法 页淘汰算法 定义 原因 2019/4/23 《计算机操作系统》- 第7章

讨论 影响缺页次数的因素 颠簸/抖动 分配给进程的物理块数 页本身的大小 程序的编制方法 页淘汰算法 定义 原因 在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动 页面淘汰算法不合理 分配给进程的物理页面数太少 2019/4/23 《计算机操作系统》- 第7章

学习与问题: 6 5 4 3 2 页面调度中哪些因素会对系统性能产生影响? 试分析缺页率对系统性能的影响 试分析对换空间对系统性能的影响 试分析页面大小对系统性能的影响 2 工作集模型的目的与原理 2019/4/23 《计算机操作系统》- 第7章

本章目录 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 请求分段的实现 段页式虚拟存储器管理的实现 7.6 Windows 2000/XP系统存储器管理实例 2019/4/23 《计算机操作系统》- 第7章

请求分段中的硬件支持 段表机制 缺段中断机构 地址变换机构 2019/4/23 《计算机操作系统》- 第7章

请求分段中的硬件支持 段表机制 存取方式: 访问字段A: 修改位M: 存在位P: 增补位: 外存始址: 段名 段长 段的基址 存取方式 访问字段A 修改位M 存在位P 增补位 外存始址 存取方式: 用于标识本分段的存取属性是只执行、只读,还是允许读/写 访问字段A: 用于记录本段在一段时间内被访问的次数,或记录本段最近已有多长时间未被访问,供选择换出分段时参考。 修改位M: 表示该段在调入内存后是否被修改过,供置换分段时参考。 存在位P: 指示本段是否已调入内存,供程序访问时参考。 增补位: 这是请求分段式管理中所特有的字段,用于表示本段在运行过程中是否做过动态增长。 外存始址: 指示本段在外存中的起始地址,即起始盘块号。 2019/4/23 《计算机操作系统》- 第7章

请求分段中的硬件支持 缺段中断机构 与缺页中断机构类似 但由于分段是信息的逻辑单位,因而不可能出现一条指令被分割在两个分段中和一组信息被分割在两个分段中的情况。 同时由于段不是定长的,这使对缺段中断的处理要比对缺页中断的处理复杂。 2019/4/23 《计算机操作系统》- 第7章

请求分段中的硬件支持 2019/4/23 《计算机操作系统》- 第7章

请求分段中的硬件支持 地址变换机构 2019/4/23 《计算机操作系统》- 第7章

段的共享与保护 共享段表 共享进程计数Count 存取控制字段 段号 2019/4/23 《计算机操作系统》- 第7章

段的共享与保护 共享段的分配与回收 分段保护: 越界检查 存取控制检查 环保护机构 一个程序可以访问驻留在相同环或较低特权环中的数据。 一个程序可以调用驻留在相同 环或较高特权环中的服务。 2019/4/23 《计算机操作系统》- 第7章

段的共享与保护 2019/4/23 《计算机操作系统》- 第7章

例题1 内存分配一页,初始时矩阵数据均不在内存;页面大小为128个整数;矩阵A128×128按行存放。以下两个程序执行时分别会产生多少次缺页中断? 程序编制方法1: for j:=1 to 128 for i:=1 to 128 A[i,j]:=0; 程序编制方法2: for i:=1 to 128 for j:=1 to 128 A[i,j]:=0; 2019/4/23 《计算机操作系统》- 第7章

例题1:答案 程序编制方法1: 程序编制方法2: for j:=1 to 128 for i:=1 to 128 A[i,j]:=0; 程序编制方法2: for i:=1 to 128 for j:=1 to 128 A[i,j]:=0; 128×128 128 参考7.4.1中“4.编制程序对缺页率的影响” 2019/4/23 《计算机操作系统》- 第7章

例题2 某程序在内存中分配3块内存,初始为空,访问页走向如下,用FIFO和LRU算法分别计算缺页次数。 2,3,2,1,5,2,4,5,3,2,5,2 2019/4/23 《计算机操作系统》- 第7章

例题2:答案--FIFO FIFO 2 3 2 1 5 2 4 5 3 2 5 2 共缺页中断9次 页1 2 3 3 1 5 2 4 4 3 3 5 2 页2 2 2 3 1 5 2 2 4 4 3 5 页3 2 3 1 5 5 2 2 4 3 x x  x x x x  x  x x 共缺页中断9次 2019/4/23 《计算机操作系统》- 第7章

例题2:答案--LRU LRU 2 3 2 1 5 2 4 5 3 2 5 2 页1 2 3 2 1 5 2 4 5 3 2 5 2 页2 2 3 2 1 5 2 4 5 3 2 5 页3 3 2 1 5 2 4 5 3 3 x x  x x  x  x x   共缺页中断7次 2019/4/23 《计算机操作系统》- 第7章

例题3 在分页存储管理系统中,有一作业大小为4页,页长为2K,页表如下,试借助地址变换图(即要求画出地址变换图)求出逻辑地址4635所对应的物理地址。 页号 块号 5 1 3 2 7 6 2019/4/23 《计算机操作系统》- 第7章

例题3:答案 物理地址为:14875 3 1 6 7 2 5 块号 页号 页表首址 + 10 01000011011 00010 00111 块号 页号 01000011011 00010 00111 页表首址 + 10 物理地址为:14875 2019/4/23 《计算机操作系统》- 第7章

作业通过发送电子邮件附件形式提交到助教老师邮箱: 练习 习题1、2、3(见后) 作业通过发送电子邮件附件形式提交到助教老师邮箱: 赵 静 1215052241@qq.com 作业文件名命名要求: OS_学号_姓名_n.doc (n为当章节序号) 如一个合法文件名: OS_95002_张三_7.doc 2019/4/23 《计算机操作系统》- 第7章

习题1 某系统采用请求分页管理内存, 采用LRU页面置换算法. 作业的页面走向为: 4、3、2、1、5、3、0、4、3、2、0、5 内存块M=4, 试计算运行时的缺页率。 某系统采用请求分页管理内存, 采用LRU页面置换 算法. 作业A的页面走向为: 4、3、1、3、2、4、2、3、5、2、6、3 内存块M=3,试分析运行时的缺页率。 2019/4/23 《计算机操作系统》- 第7章

习题2 如图所示,现有作业A须申请40K内存,写出选用以下各分配策略时,作业A的首地址和末地址,图中阴影为占用区。 A. 最先适应法 B. 最佳适应法 C. 最差适应法 D. 单一连续分配 2019/4/23 《计算机操作系统》- 第7章

习题3 现有一请求分页的虚拟存储器 , 内存最多容纳 4 个页面 , 对于下面的引用串 : 1,2,3,4,5,3,4,1,6,7,8,7,8,9,7,8,9,5,4,5,4,2 分别采用 FIFO, LRU, OPT 页面替换算法 , 各将产生多少次缺页中断 ? 2019/4/23 《计算机操作系统》- 第7章

Any Question? Thank you ! 2019/4/23 《计算机操作系统》- 第7章