4.6 虚拟存储器的基本概念
4.6.1 问题的提出
• 程序大于总内存 •多个程序要运行内存只能容纳部分作业
虚拟存储器的基本思想是: 程序、数据、堆 栈的大小可以超过内存的大小, 操作系统把程序 当前使用的部分保留在内存, 而把 其它部分存在磁盘上, 需要时在内存和磁盘之间 动态对换。
虚拟存储器支持多道程序设计技术。
以CPU时间和外存空间换取昂贵内存空 间, 这是操作系统中的资源转换技术。
虚存: 把内存与外存有机的结合起来使用, 从 而得到一个容量很大的“虚内存”。
实现思想: 当进程运行时, 先将一部分程序装 入内存, 另一部分暂时留在外存, 当要执行的 指令不在内存时, 由系统自动将它们从外存调 换到内存。即具有请求调入和置换功能。
当又有其它进程要访问该共享段时, 只需在访问进 程的段表中增加一表项, 填入该共享段的物理地址; 并 在共享段表的对应表项中, 填写调用进程名和存取控制 等, 再执行count:= count+1 操作。
共享段的回收
取消该进程的段表中共享段所对应的表项,并执行 count:= count-1, 结果为0则回收共享段的内存并取消该 进程在共享段表中对应的表项; 否则仅取消该进程在共 享段表中对应的纪录。
• 直接寻址方式最少块数为2
• 间接寻址方式最少块数为3
• 功能较强的机器最少块数为6
2. 页面分配和置换策略(固定分配、可变分配)
1) 固定分配局部置换
• 系统中驻留的进程数与分配给进程的页数是什么 关系?(正比?反比?) • 块数太多会出现什么问题? • 块数太少会出现什么问题?
2) 可变分配全局置换
(1) 寻找A=0且M=0, 找到则淘汰该页, 此遍不修改A。