页式存储管理.ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.4.3 请调策略
一、问题的提出 在页式存储管理提高了内存的利用效率,但
并不为用户提供虚存,换句话说,当一个用户程 序的页数大于当前总空闲内存块数时,系统就不 能将该程序装入运行。即用户程序将受到物理内 存大小的限制。为了解决这个问题,人们提出请 求分页存储管理技术。
二、请求分页概念 请求分页技术当一个用户程序要调入内存时,
据,很快会被再次访问(时间局部性);作业访问的 地址空间往往集中在某个区域(空间局部性)。 二、虚拟存储器
具有请求调入功能和置换功能,能从逻辑上对内 存容量进行扩充。实际容量由内存和外存之和决定。 速度接近于内存,每位的成本接近于外存。
三、请求分页要解决的问题 1、如何发现执行的程序或访问的数据不在内存; 2、程序或数据什么时候调入内存,调入策略; 3、当一些页调入内存时,内存没有空闲内存时, 将淘汰哪些页,淘汰策略。
造成这样问题的主要原因是用户程序装入内 存时是连续装入的,为解决这个问题,提出了分 页存储管理技术。
二、分页的概念
程序地址空间分成大小相等的页面,同时把内存也分成与 页面大小相等的块,当一个用户程序装入内存时,以页面为单 位进行分配。页面的大小是为2n ,通常为1KB,2KB,nKB等。
页式存储管理要解决如下问题: 1、地址映射; 2、调入策略; 3、淘汰策略; 4、放置策略。
页号 0 1 2 3
块号 5 3 7 6
解答
页表首址
+
页号 块号
0
5
1
3
2
7
3
6
00001 00101011100
10
源自文库
0
00011 00101011100
物理地址为:0x195C
四、采用相应技术加快页表的查询速度
在页式存储技术中,每访问一次内存,就要 做两次访问内存的工作,即查页表时要作一次访 问内存的工作,然后是访问程序要求访问的内存 ,这样,存取速度降低一倍,将会影响整个系统 的使用效率。
2.虚地址以十进制数给出 页号=虚地址%页大小 位移量=虚地址 mod 页大小
根据题意产生页表; 以页号查页表,得到对应页装入内存的块号 内存地址=块号×页大小+位移量
例1:有一系统采用页式存储管理,有一作业大小是 8KB,页大小为2KB,依次装入内存的第7、9、A、5 块,试将虚地址0AFEH,1ADDH转换成内存地址。
内存
0 1 2 3 4 5 6 7 8 9 10 11 ……
二、虚地址结构 虚地址是用户程序中的逻辑地址,它包括页号
和页内地址(页内位移)。 区分页号和页内地址的依椐是页的大小,页内
地址占虚地址的低位部分,页号占虚地址的高位 部分。
假定页面大小1024字节,虚地址共占用2个字 节(16位)
页号 页内地址(位移量)
虚地址0AFEH 0000 1010 1111 1110 P=1 W=010 1111 1110 MR=0100 1010 1111 1110
=4AFEH
例2:有一系统采用页式存储管理,有一作业大小 是8KB,页大小为2KB,依次装入内存的第7、9、10 、5块,试将虚地址7145,3412转换成内存地址。
4.4.2 页式地址变换
一、页表 页表是页式存储管理的数据结构,它包括用户程 序空间的页面与内存块的对应关系、页面的存储 保护和存取控制方面的信息。
页号 内存块号 存取控制 状态 其它
用户程序
0页 1页 2页 3页 4页 5页 6页 7页
页表
页号 0 1 2 3 4 5 6 7
块号 5 2 4 6 7 10 9 11
第四章 存储器管理
4.1 概述 4.2 存储管理的功能 4.3 分区存储管理 4.4 页式存储管理 4.5 段式存储管理 4.6 段页式存储管理 4.7 UNIX系统的存储管理
4.4 页式存储管理
4.4.1 页式系统应解决的问题
一、问题的提出 分区存储管理的主要问题是碎片问题。
在采用分区存储管理的系统中,会形成一些非 常小的空闲分区,最终这些非常小的分区不能被 系统中的任何用户(程序)利用而浪费。
P
15 10 9
W
0
三、页式地址映射
程序地址 P W
页表寄存器 页表起址 页表长度
页表 越界
P P’
P’+W
拼接
内存
程序地址L 页号(P=2) 页内地址W
< 页表
页号 块号 05 12 24 36
P’=4 W 物理地址
1. 虚地址(逻辑地址、程序地址)以十六进制、 八进制、二进制的形式给出 将虚地址转换成二进制的数; 按页的大小分离出页号和位移量(低位部分是位移 量,高位部分是页号); 根据题意产生页表; 将位移量直接复制到内存地址寄存器的低位部分; 以页号查页表,得到对应页装入内存的块号,并将 块号转换成二进制数填入地址寄存器的高位部分, 从而形成内存地址。
不是将该程序全部装入内存,而是只装入部分页 到内存,就可启动程序运行,在运行的过程中, 如果发现要运行的程序或要访问数据不在内存, 则向系统发出缺页中断请求,系统在处理这个中 断时,将在外存相应的页调入内存,该程序继续 运行。
虚拟存储器
一、程序的局部性原理 在一段小的时间间隔内,被访问过的某指令或数
虚地址 3412 P=3412 % 2048 =1 W= 3412 mod 2048 = 1364 MR=9*2048+1364=19796 虚地址3412的内存地址 是:19796
练习
在分页存储管理系统中,有一作业大小为4页,页 长为2K,页表如下。试借助地址变换图(即要求画 出地址变换图)求出逻辑地址0x095C所对应的物理 地址。
在早期的计算机系统中有的采用联想存储器 的技术来加快查表的速度,有的采用寄存器做页 表。
具有快表的地址变换机构:
快表:将页表中作业运行最常用的部分放入快表。
页表寄存器
越界
程序地址L
页表起址 页表长度
页号p
页内地址w
<
页表
页号 块号 0 1 2 p’ 3 4 5 6
页号 块号
输3
入5
寄2
存 器
1 4
p’
快表
p’
w
物理地址
例:设访问内存的时间为200 ns,访问快表(高速缓 冲)的时间为40 ns,如果快表命中率为90%,则将 逻辑地址转换成物理地址进行内存访问的平均时间 为: 40* 90%+200* 10% +200= 256 ns。 不用快表时,需访问两次内存,需要200*2 = 400 ns。
相关文档
最新文档