首页计算机计算机软件计算机操作系统 09 笫四章 存储器管理 4.7-4.9.pptx

09 笫四章 存储器管理 4.7-4.9.pptx

页数:32页文件大小:207.2 KB来源: 计算机操作系统ppt课件

本课件讲解请求分页存储管理,先给出页表机制、缺页中断机构与地址变换机构及分配调页策略,随后逐一分析最佳、先进先出、LRU 与 Clock 置换算法并配缺页次数计算例题,最后介绍请求分段管理与本章小结。

计算机操作系统第四章存储器管理封面,标示请求分页、页面置换算法与请求分段等内容。
4.7请求分页存储管理方式,状态位P:用于指示该页是否已调入内存。
请求分页的页表机制,表示该页在调入内存后是否被修改过。
查看本课件的文字版(共 32 页,供检索与复制)

第1页:第四章 存储器管理封面

第四章 存储器管理:本页为《计算机操作系统》课件封面,标注课程名称与英文名称 Operating Systems,并列出 WINDOWS、UNIX、LINUX 等常见操作系统类型。

第2页:4.7请求分页存储管理方式

4.7请求分页存储管理方式

  • 4.7请求分页存储管理方式4.7.1请求分页中的硬件支持1.页表机制
  • 状态位P:用于指示该页是否已调入内存
  • 供程序访问时参考
  • 访问字段A:供选择换出页面时参考
  • 用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问

第3页:请求分页的页表机制

请求分页的页表机制

  • 4.7请求分页存储管理方式4.7.1请求分页中的硬件支持1.页表机制
  • 修改位M:供置换页面时参考
  • 表示该页在调入内存后是否被修改过
  • 外存地址
  • 用于指出该页在外存上的地址,通常是物理块号
  • 供调入该页时参考

第4页:缺页中断机构

缺页中断机构

  • 2.缺页中断机构
  • 在请求分页系统中,每当所要访问的页面不在内存时,便产生一缺页中断,请求OS将所缺之页调入内存
  • 缺页中断同样需要经历:1.保护CPU环境2.分析中断原因3.转入缺页中断处理程序进行处理4.恢复CPU环境

第5页:多次缺页中断的指令

多次缺页中断的指令

  • 如:在执行一条指令COPY A TO B时,可能要产生6次缺页中断
  • 指令本身跨了两个页面
  • A和B又分别各是一个数据块,也都跨了两个页面

第6页:缺页中断与一般中断的区别

缺页中断与一般中断的区别

  • 缺页中断
  • 缺页中断与一般的中断区别
  • (1)缺页中断是在指令执行期间产生和处理中断信号
  • 一般中断都是在CPU一条指令执行完后,才检查是否有中断请求到达
  • (2)一指令在执行期间,可产生多次缺页中断
  • 系统中硬件机构应能保存多次中断时的状态,并保证最后返回到中断前产生缺页中断的指令处继续执行

第7页:请求分页的地址变换机构

请求分页的地址变换机构:3.地址变换机构。

第8页:4.7.2内存分配策略和分配算法

4.7.2内存分配策略和分配算法

  • 4.7.2内存分配策略和分配算法1.最小物理块数
  • 是指能保证进程正常运行所需的最小物理块数。2.物理块的分配策略3.物理块分配算法

第9页:最小物理块数

最小物理块数

  • 当系统为进程分配的物理块数少于此值时,进程将无法运行
  • 进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式
  • 对于某些功能较强的机器,其指令长度可能是两个或多于两个字节
  • 对于这种机器,至少要为每个进程分配6个物理块,以装入6个页面

第10页:物理块的分配策略

物理块的分配策略

  • 内存分配策略
  • 固定分配
  • 可变分配
  • 置换策略
  • 全局置换
  • 局部置换
  • 固定分配局部置换
  • 可变分配全局置换
  • 可变分配局部置换

第11页:物理块分配算法:平均分配

物理块分配算法:平均分配

  • 3.物理块分配算法1)平均分配算法
  • 将系统中所有可供分配的物理块平均分配给各个进程2)按比例分配算法
  • 根据进程的大小按比例分配物理块的算法。3)考虑优先权的分配算法
  • 把内存中可供分配的所有物理块分成两部分
  • 一部分按比例地分配给各进程
  • 另一部分则根据各进程的优先权,适当地增加其相应份额后,分配给各进程

第12页:4.7.3调页策略

4.7.3调页策略

  • 4.7.3调页策略1)预调页策略
  • 可采用一种以预测为基础的预调页策略
  • 将那些预计在不久之后便会被访问的页面预先调入内存
  • 主要用于进程的首次调入时,由程序员指出应该先调入哪些页。2)请求调页策略
  • 若发现其所在的页面不在内存,便立即提出请求,由OS将其所需页面调入内存
  • 在目前的虚拟存储器中大多采用此策略

第13页:4.8页面置换算法

4.8页面置换算法

  • 4.8页面置换算法1)最佳页面替换算法OPT
  • 通常可保证获得最低的缺页率
  • 该算法是无法实现的2)先进先出页面替换算法FIFO3)最近最久未使用置换算法LRU4)时钟页面替换算法

第14页:缺页率与缺页中断率

缺页率与缺页中断率

  • 缺页率(缺页中断率)
  • 如果作业p在运行中成功的访问次数为s,不成功的访问次数为F,则总的访问次数A为:A=s+F缺页中断率:f = F / A

第15页:最佳替换算法OPT

最佳替换算法OPT

  • 所淘汰的页应该是
  • 以后不再访问的页
  • 或在最长(未来)时间内不再访问的页

第16页:先进先出页面替换算法

先进先出页面替换算法

  • 基于程序总是按线性顺序来访问物理空间这一假设
  • 淘汰最先调入主存的页,或在主存中驻留时间最长的页
  • 只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,它总是指向最老的页面70224770123001230423032403701203042303211130发生了8次页面置换,缺页次数=11;缺页率=11/14最老的页

第17页:最近最久未使用替换算法LRU

最近最久未使用替换算法LRU

  • 最近最久未使用页面替换算法LRU
  • 该算法的主要出发点是
  • 用“最近的过去”作为“最近的将来”的近似
  • 如果某页被访问了,则它可能马上还要被访问
  • 当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰
  • 或者反过来说,如果某页很长时间未被访问,则它在最近一段时间也不会被访问

第18页:LRU算法的硬件支持

LRU算法的硬件支持

  • 2.硬件支持
  • 须有寄存器或栈的支持:1)寄存器
  • 须为每个在内存中的页面配置一个移位寄存器
  • 进程访问某物理块时,先将寄存器的Rn-1位设成1
  • 定时信号将每隔一定时间将寄存器右移一位
  • 若将n位寄存器的数看做是一整数,那么,具有最小数值的寄存器所对应的页面,就是最近最久未使用的页面。R0R1R2R3R4R5R6R70000000000000000011

第19页:LRU算法的栈实现

LRU算法的栈实现:LRU算法实现:栈最新被访问的页。

第20页:缺页计算例题:固定分配(一)

缺页计算例题:固定分配(一)

  • 例子--计算缺页中断次数和被淘汰页面
  • (1)
  • 假设采用固定分配策略,进程分得三个页框,执行中按下列次序引用5个独立的页面: 2 3 2 1 5 2 4 5 3 2 5 2。2 3 2 1 5 2 4 5 3 2 5 223451222233335533242322215252533215245325354251OPTLRU发生了3次页面置换,缺页次数=6;缺页率=6/12发生了4次页面置换,缺页次数=7;缺页率=7/12最新被访问的页

第21页:缺页计算例题:固定分配(二)

缺页计算例题:固定分配(二):例子--计算缺页中断次数和被淘汰页面。

第22页:时钟页面替换算法

时钟页面替换算法:1、简单的Clock置换算法。

第23页:简单Clock置换算法(一)

简单Clock置换算法(一)

  • 简单的Clock置换算法
  • (1)1.主存中的任何页面被访问时,其“访问位”置1。2.淘汰页面时
  • 从指针当前指向的页面开始扫描循环队列,把所遇到的“访问位”是1的页面的“访问位”清0,跳过这个页面

第24页:简单Clock置换算法(二)

简单Clock置换算法(二)

  • 简单的Clock置换算法
  • (2)4.扫描循环队列时,如果遇到的所有页面的“访问位”为1,指针就会绕整个循环队列一圈,把碰到的所有页面的“访问位”清0
  • 指针停在起始位置,并淘汰掉这一页

第25页:缺页计算例题:Clock算法

缺页计算例题:Clock算法

  • 例子--计算缺页中断次数和被淘汰页面
  • (1)

第26页:4.9请求分段存储管理方式

4.9请求分段存储管理方式

  • 与基本分段的最大区别
  • 允许部分段运行前不装入
  • 可以在运行过程中按需动态调入
  • 硬件支持1.段表机制2.缺段中断机构3.地址变换机构

第27页:请求分段的段表机制

请求分段的段表机制

  • 1.段表机制
  • (1)存取方式:标识本段存取属性(读,执行,读/写)
  • (2)访问字段A:用于记录该段被访问的频繁程度
  • (3)修改位M:供置换页面时参考
  • (4)存在位P:供程序访问时参考
  • (5)增补位:用于表示本段在运行过程中是否做过动态增长
  • (6)外存始址:指示本段在外存中起始盘块号。外存始址增补位存在位P修改位M访问字段A存取方式段的基址段长段名

第28页:缺段中断机构

缺段中断机构:2.缺段中断机构。

第29页:请求分段的地址变换机构

请求分段的地址变换机构:3.地址变换机构。

第30页:小结(1):内存管理概念

小结(1):内存管理概念

  • 小结
  • (1)
  • 内存管理概念
  • 程序装入与链接;逻辑地址与物理地址空间
  • 交换
  • 连续分配管理方式
  • 单一连续分配、固定分区分配、动态分区分配
  • 伙伴系统、可重定位分配分配
  • 非连续分配管理方式
  • 分页管理方式;分段管理方式;段页式管理方式

第31页:小结(2):虚拟内存管理

小结(2):虚拟内存管理

  • 小结
  • (2)
  • 虚拟内存管理
  • 虚拟内存基本概念
  • 请求分页管理方式
  • 页面分配策略
  • 页面置换算法
  • 请求分段管理方式

第32页:作业:分页虚存系统地址计算

作业:分页虚存系统地址计算:作业1.在一个分页虚存系统中,用户编程空间32个页面,页长1KB,主存为16KB。如果用户程序有10页长,若已知虚页第0,1,2,3页已分别分配到物理块号为8,7,4,10,试将逻辑地址0AC5H和1AC5H变换为物理地址。2.一个页式存储管理系统使用OPT、LRU和简单Clock页面替换算法,如果一个作业的页面走向为:2、3、2、1、5、2、4、5、3、2、5、2。当分配给该作业的物理块数为3时,试计算访问过程中发生的缺页中断次数和缺页中断率。3 . P15926。

顶部目录