第4章存储器管理(3)传
2013-6-21
12
在进程开始运行之前,不是装入全部页 面,而是装入几个页面,之后根据进程运行 的需要,动态装入其它页面; 当内存空间已满,而又需要装入新的页 面时,则根据某种算法淘汰某个页面,以便 装入新的页面
2013-6-21
13
60K-64K
56K-60K 52K-56K 48K-52K 44K-48K 40K-44K 36K-40K 32K-36K 28K-32K 24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K
配的块号。另外,还要修改存储分块表里相应表目的状态。
2013-6-21
21
练习
作业在执行中发生了缺页中断,经操作系统 处理后,应让其执行____指令: A、被中断的前一条 B、被中断的 C、被中断的后一条 D、启动时的第一条 在采用请求分页式存储管理的系统中,地址 变换可能会因为___、____和____等原因而 产生中断。
2013-6-21 20
若该页的R位(缺页中断位)为 根据当前执行指令中的虚拟地 下图用数字标出了缺页中断的处理过程: “0”,表示当前该页不在内存,于 址,形成数对:(页号,页内 是产生缺页中断,让操作系统的中 位移)。用页号去查页表,判 断处理程序进行中断处理。 断该页是否在内存储器中
由于产生缺页中断的那条指令并没有执行, 中断处理程序去查存储分块表,寻 所以在完成所需页面的装入工作后,应该返回 找一个空闲的内存块;查页表,得 原指令重新执行。这时再执行时,由于所需页 根据分配存储块的信息,修改页表中相应的表目内容,即将表目 到该页在辅助存储器上的位置,并 把从磁盘上读出的信息装入到分配 启动磁盘读信息。 中的R位设置成为“1”,表示该页已在内存中,在B位填入所分 面已在内存,因此可以顺利执行下去。 的内存块中。
2013-6-21
17
缺页中断(Page Fault)机构
缺页中断机构
在请求分页系统中,每当所要访问的页面不在主存时,
便要产生一次缺页中断,请求操作将所缺的页调入主存。 缺页中断作为中断,它同样需要经历诸如保护CPU环境、 分析中断原因、转入缺页中断处理程序进行处理、恢复 CPU环境等几个步骤。
2013-6-21
25
1、最少物理块数的确定
最少物理块数:保证进程正常工作所需块数, 若少于次数,进程将无法运行 最少物理块数与硬件结构有关,取决于指令 格式,功能和寻址方式。
2013-6-21
26
2、物理块的分配策略
内存分配策略:固定和可变 置换策略:全局和局部 组合成3种合适的策略: 1. 固定分配局部置换 2. 可变分配全局置换 3. 可变分配局部置换
2013-6-21 3
程序局部性原理
时间局部性 一条指令被执行了,则在不久的将来它可能再被 执行,如果某数据被访问过, 则不久以后该数据 可能再次被访问。 (循环操作) 空间局部性 若某一存储单元被使用,则在一定时间内,与该 存储单元相邻的单元可能被使用,即程序在一段 时间内所访问的地址,可能集中在一定的范围之 内。 (程序顺序执行)
1.问题的提出
前面所介绍的各种存储器方式有一个共同特 点:要求将一个作业全部装入内存后方能运 行。 出现问题:
有的作业很大,其所要求的内存空间超过了内存总容量。 有大量作业要求运行。
解决方法:
从物理上增加内存容量 从逻辑上扩充内存容量
1
2013-6-21
4.6.1.虚拟存储器的引入
9
4.6.3.虚拟存储器存储的特点
(1)多次性。多次性是指一个作业被分成多 次调入主存运行 。 (2)对换性。对换性是指允许在作业的运行 过程中换进、换出 。 (3)虚拟性。虚拟性是指能够从逻辑上扩充 内存容量,使用户所看到的主存容量远大于 实际主存容量。
2013-6-21
10
4.7请求分页式存储管理
2013-6-21
5
比如说,有一个1MB的程序,任何时刻都可以让 它的256KB内容在内存运行。需要时,就在内存和辅 存之间交换所需要的其他程序段信息。于是,1MB程 序就可以在256KB的存储器中得以运行。对于用户来 说,他只知道程序在内存里才能运行。现在他的1M程
序能够运行,因此他就认为该计算机系统向他提供的
X X X X 7 X 5 X X X 3 4 0 6 1 2
虚地址空间
} 虚页
物理地址空间
页框
28K-32K 24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K
2013-6-21
14
2.采用的数据结构
(1)页表
页表用来记录作业的分配情况
。
2013-6-21 22
练习
某虚拟存储器的用户空间共有32个页面,每页1k, 主存16k。假定某时刻用户页表中已调入主存的页 面的虚页号和物理页号对照表如下:该用户的作业 的长度为6页,试将十六进制的虚拟地址0A5C、 103C、1A5C转换成物理地址。 虚页号 0 1 2 物理页号 5 10 4 块号4 01 0010 0101 1100
页号 内存块号 状态位P 访问位A
2013-6-21
修改位M外存地址
16
ቤተ መጻሕፍቲ ባይዱ
页表表项
页号、内存块号、驻留位、外存地址、访问 位、修改位 修改位:查看此页是否在内存中被修改过, 供置换页面时参考。 外存地址:该页存放在外存上的地址。供 调入该页时参考。
页号 内存块号 状态位P
访问位A
修改位M外存地址
2013-6-21 19
3. 地址变换机构
请求分页系统中的地址变换与页式存 储管理相同,为了实现虚拟存储功能,又 增加了产生和处理缺页中断和从内存换入 换出一页的功能等等。 地址变换过程:首先检索快表,若找到, 修改页表中的访问位。对于写指令,要将 修改位也置成“1”,然后利用页表项中给 出的物理块号和页内地址,形成物理地址。
实现请求分页的软件
2013-6-21
8
4.6.2.虚拟存储器的实现方法
2.分段式虚拟存储管理
它是在分段式存储管理系统上增加了请求调段功
能、分段置换功能所形成的段式虚拟存储管理系 统。 硬件支持:
请求分段的段表机制 缺段中断机构
地址变换机构
实现请求分段的软件
2013-6-21
(2)缺页中断机构
在请求分页系统中,每当所要访问的页面不在
主存时,便要产生一次缺页中断,请求操作将 所缺的页调入主存。
(3)地址变换机构
2013-6-21
15
页表表项
页号、内存块号、状态位、访问位、修改位、 外存地址 状态位P:表示该页是否已调入内存,供程 序访问时参考 访问位A:用于记录本页在一段时间内被 访问的次数或最近已有多长时间未被访问, 供选择换出页面时参考
2013-6-21 7
4.6.2 虚拟存储器的实现方法
1.分页式请求系统
它是在分页式存储管理系统上增加了请求调页功能、
页面置换功能所形成的页式虚拟存储管理系统。 硬件支持
① 请求分页的页表机制,它是在纯分页的页表机制上增加若 干项而形成的,作为请求分页的数据结构;② 缺页中断机构, 即每当用户程序要访问的页面尚未调入内存时 便产生一缺页 中断,以请求OS将所缺的页调入内存;③ 地址变换机构,它 同样是在纯分页地址变换机构的基础上发展形成的。
39
96
2013-6-21 24
4.7.2内存分配策略和分配算法
在为进程分配内存时,将涉及到三个问题:
第一,确定为保证作业正常运行所需要的最少物
理块数; 第二,为每个作业分配的物理块,其数目是固定 的还是可变的(分配策略); 第三,对各作业所分配的物理块数,是采取平均 分配算法还是根据作业的大小按比例分配等。
0
页号2
A
5
C
000 1010
0101 1100
3
7
1
2013-6-21
2
5
C
23
练习
某请求页式管理系统页表的内容如下表,作业在地 址空间所规定的页长为1K,对于CPU所给出的有效 地址:33790、40462,其对应的物理地址分别为: _____、_______。 虚页号 36 37 38 物理页号 84 85 95
1.硬件支持 2.内存分配策略和分配算法 3.调页策略
2013-6-21
11
它是建立在纯分页基础上的,增加了请求调 页功能、页面置换功能所形成的请求分页存 储管理系统。 把作业分成大小相等的若干页,把主存分成 与页大小相等的若干块;对每个作业限定分 给它的主存块数,先把作业的部分页装入主 存的这些块中,在作业运行时再装入所需要 的页。
是一个具有1MB内存的计算机。但这只是一个“幻
觉”,实际上却只提供给他256KB内存。这样一个认
为有的、但实际上不存在的“大”存储器,就被称为 “虚拟存储器”。
2013-6-21 6
虚拟存储器的定义
虚拟存储器是指仅把作业的一部分装入主存便 可运行作业的存储器系统。具体地说,所谓虚 拟存储器是指具有请求调入功能和置换功能, 能从逻辑上对主存容量进行扩充的一种存储器 系统。实际上,用户所看到的大容量只是一种 感觉,是虚的,故而得名虚拟存储器。 虚拟存储器的逻辑容量由内存容量和外存容量 之和决定,其运行速度接近于内存速度,而其 成本却又接近于外存。可见,虚拟存储技术是 一种性能非常优越的存储器管理技术,故被广 泛地应用广泛地应用于各类计算机中。