操作系统概念(高等教育出版社,第七版)复习——第九章:虚拟内存

本文深入探讨了虚拟内存的概念,包括局部性原理、按需调页、页错误陷阱处理、页面置换算法如FIFO、LRU等,并讨论了系统颠簸和预防策略,以及写时复制技术在进程共享中的应用。内容覆盖了虚拟存储器的工作原理及其在提高系统效率和资源利用率中的关键作用。
摘要由CSDN通过智能技术生成

第九章 虚拟内存

局部性原理

时间局部性:

如果程序的某条指令一旦执行,则不久后该指令可能再次执行(e.g. 循环结构)。

如果某个数据结构被访问,则不久以后该数据结构可能再次被访问;(e.g. 数组+循环结构)。

空间局部性:

一旦程序访问了某个存储单元,不久之后,其附近的存储单元也被访问(顺序性)(数组、循环)。

虚拟存储器

虚拟存储器指的是仅把作业的一部分装入内存便可运行作业,具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

基于局部性原理,一个作业在运行之前,没有必要全部装入主存,而仅将那些当前要运行的那部分页面或段,先装入内存几个启动运行,其余部分暂时留在磁盘上。

可使一个大的用户程序在较小的内存空间中运行;可使内存中同时装入更多的进程并发执行;用户在一个虚拟地址空间中编程,无需担心物理内存大小。

从用户的角度看,该系统所具有的内存容量,将比实际内存容量大得多——即虚拟存储器

虚拟内存也允许文件和内存通过共享页面为两个或多个进程所共享,这带来了以下优点

系统库可为多个进程所共享;

虚拟内存允许进程共享内存;

虚拟内存可允许在用系统调用fork()创建进程期间共享页,从而加快进程创建。

按需调页

懒惰交换:只有在需要页时才将它调入内存。

交换程序对整个进程进行操作,调页程序只对进程的单个页进行操作。

有效无效位

有效:既合法也在内存中。

无效:页为无效(也就是不在进程的逻辑地址空间内)或者有效但在磁盘上。

页错误陷阱(Windows系统称为“页面错误”)page-fault trap

操作系统未能将所需的页调入内存。

处理方法:

1.操作系统查看内部页表(通常与PCB一起保存)决定:

若为无效的引用,中止。

若为有效但是未调入页面:调入。

2.找到一个空闲帧。

3.调度一个磁盘操作,把所需页调入刚分配的帧。

4.复位表。

5.设置有效-无效位为有效。

6.重新启动导致页错误的指令。

缺页中断

缺页中断与一般的中断相比,有明显的不同:

在指令执行期间产生和处理中断信号;一般情况下,CPU在执行完一条指令之后检查和处理中断,而缺页中断却是在指令执行期间,发现要访问的指令或数据不在内存时产生和处理的;

一条指令执行期间,可能产生多次缺页中断。

按需调页性能

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值