分页存储管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算物理地址并访问内存
利用公式: E=bxL+W,得到物理地址E
判断越界的方法:
若P>M(页表长度),则产生越界中断
用得到的物理地址E去访问内存。
第 1 部分-分页存储管理方式
效率问题
原因:由于页表是存放在内存中的,这使得CPU在每存取一个数据时,
都要两次访问内存。
占用内存过多
解决办法: 页表离散分配 部分装入
谢谢
地址变换任
务是借助于 页表完成的
第 1 部分-分页存储管理方式
获取块号
求P在页表中对应的项的地址: =页表起始地址F+Px页表项大小 取出该表项中物理块号b的内容
地址变换
step1
step2
step3
求页号和页内地址,判断是否越界
※注意 块内地址=页内地址 块的大小=页面大小
利用公式: P=(int)(A/L);W=A%L
解决办法: 引入快表提高 地址变换速度。 #快表存在命中 率的问题#
引入两级和
多级页表减
少内存的占用 率。
分页存储管理的地址变换,利用快表查找内存所需时间
例题回顾
第 2 部分 例题回顾
1.假定主存为64KB,分成16块.某进程有4页:0.1.2.3 分别被分配到2,4,1,6块
(1)该进程总长度为多少? (2)该进程每一页在内存中的起始地址? (3)给出逻辑地址:[0,100],[1,50],[2,0],[3,10] (页号,页内地址)给出其对应的内存地址.
20位)为页号
所以有: 页面大小L=2^12=4KB; 逻辑地址空间最多允许有2^20=1MB页
第 1 部分-分页存储管理方式
地址变换机构 页表寄存器
实现逻辑地
址变换为物 为了实现上的方便,系统中设置了一 个页表寄存器。 理地址 页表大多驻留在内存中,页表寄存
器中存放页表在内存的起始地址和页 表的长度,因为一个进程可以通过它 的 PCB 来时时保存自己的状态,等到 CPU 要处理它的时候才将 PCB (进程 控制块)交给寄存器,所以,系统中 虽然可以运行多个进程,但也只需要 一个页表寄存器就可以了。
分段存储-回顾
定义,与分页比较,基本原理,地址变换等
第 3 部分 分段存储管理方式
分段存储
离散分配的基 本单位是段
可以满足一下的用户需求: 1、方便编程 2、信息共享 3、信息保护
4、动态增长
5、动态链接
利用分段存储实现地址映射
分段存储的地址变换
第 3 部分 分段存储管理方式
不同之处
(1)页是信息的物理单位,分页 是为实现离散分配方式,以消减内 存的外零头,提高内存的利用率; 段则是信息的逻辑单位,它含有一 组其意义相对完整的信息,分段的 目的是为了能更好地满足用户的需 要 (2)页的大小固定且由系统决定, 段的长度不固定。 (3)分页的作业地址空间是一维 的,即单一的线性地址空间;而分
块
(物理)块或页框。
块号
对分号的若干个物理块分配的编号,每个块号在内存都有对 应物理地址。
31
页表的作用:实现从页号到物理块号的 地址结构 地址映射
12 11
0
第 1 部分-分页存储管理方式
31
12 11 0
就是页内地 址
地址结构
如果逻辑地址空间是2^m,页面大 小是2^n(字节),那么逻辑地址的高 m-n位是页号,低n位是页内地址(即位 移量W),最多允许拥有的页面数是 2^m-n(页) 两部分的地址长度为32位,其中0~11 位(计12位)为位移量,12~31位(计
分段地址中的地址结构
在该地址结构中,允许一个作业最长有64K个 段,每个段的最大长度为64KB。
31
16 15
0
第 3 部分 分段存储管理方式
在进行地址变换时,系统将逻辑地址中 的段号 S与段表长度 TL 进行比较。若 S>TL ,
表示段号太大。访问越界,于是产生越
界中断信号;若未越界,则根据段表的 起始地址和该段的段号+段内地址从而到 的要访问的内存物理地址。
课堂回顾
分页存储管理 分段存储管理
关硕 20152069
分页存储回顾
关键词:定义、图示、相关公式、存在问题、相关拓展
例题回顾
关键词:逻辑地址、页内地址、页面大小、页号
分段存储回顾
关键词:定义、图示、与分页的区别、越界问题
分段存储-回顾
定义&基本原理、图示、公式、存在问题
第 1 部分-分页存储管理方式
(1)块大小=64/16=4KB,因为块的大小=页的大小,所以页面大小=4KB,所以总长=4*4=16(KB) (2)在内存中的起始地址=块号*块的大小 页号为0的页面被装入主存的第2块,所以地址为4*2=8K 页号为1的页面被装入主存的第4块,所以地址为4*4=16K 页号为2的页面被装入主存的第1块,所以地址为4*1=4K 页号为3的页面被装入主存的第6块,所以地址为4*6=24K (3)内存地址=块号*起始地址+页内地址(位移量、页内偏移量、页偏移) 所以对应的内存地址是: 需要注意: 4K*2+100=8292 内存地址用到的是块号,而不是页号 4K*4+50=16434 KB和数字之间的转换 4K*1+0=4096 块大小和页面大小、块内地址和页内 4K*3+10=24636 地址的等值关系
第 1 部分-分页存储管理方式
页页内碎片 页面或页 : 页表
对程序进行分页存储 对内存进行分块存储
将一个进程的逻辑地址空间分成若干个大小相等的片,称为
由于进程的最后一页经常装不满一块,而形成不可利用的碎 片。 系统为了保证进程的正确运行(能在内存中找到每个页面 所对应的物理块),为每个进程建立的页面映像表。 页面大小应选择得适中: 页面若太小会使每个进程占用较多的页面,导致进程的页表 设逻辑地址由总长度为m的二进制数表示,页内地址为 过长,占用大量内存,还会降低页面换进换出的效率。 页号 n位,则页号为m-n位。 若页面较大,则会使页内碎片增大。 并且页面的大小应是2的幂,通常为 512 B~8 KB 把内存空间分成与页面相同大小的若干个存储块,称为
与分页存
√
相似之处
两者都采用离散分配方式, 且都要通过地址映射机构来 实现地址变换。
储管理方
×
式的比较
段的作业地址空间则是二维的。
第 3 部分 分段存储管理方式
每段分配一个连续的分区,进程 中的各个段可以离散地分配到内存 中不同的分区中。
3
每个段从0开始编址,采用一 段连续的地址空间。
2
程序地址空间按其内在逻辑关系划分 成若干个相对独立的段,如主程序段、 子程序段、数据段及堆栈段等。
1
第 3 部分 分段存储管理Βιβλιοθήκη Baidu式
为每个分段分配一个连续的分区,而进 程中的各个段可以离散地移入内存不同 的分区中。 动态分 配方式 分段存储管 理系统
系统为整个进程分配一个 为了能从物理内存中找出每个逻辑段所对应的位置,引 连续的内存空间 入段表 段表:实现逻辑段到物理内存区的映射。
第 3 部分 分段存储管理方式
第 2 部分 例题回顾
2、设访问快表时间:20ns,访问内存时间:100ns。计算以下几种情况下cpu存取 一个数据的时间
(1)不使用快表 (2)使用快表,命中率分别为0%,20%,50%,80%,90%,98%,100%
(1)不用快表则访问内存两次:t=200ns (2)用快表会有两种情况,命中和没有命中,t命中=120ns,t没有命中=220ns,所以 0% t=220ns 50% t=0.5*120+0.5*220=170ns 80% t=0.8*120+0.2*220=140ns 需要注意: 90% t=0.9*120+0.1*220=130ns 分析(2)时,要考虑命中和没有命中 98% t=0.98*120+0.02*220=122ns 这两个情况的时间,再根据命中率进 100% t=120ns 行运算。