页式存储管理(不连续存储)

连续存储管理不足
对空间要求高
会形成很多碎片
通过移动技术减少碎片会增加系统的开销

页式存储管理

基本思想

  页式存储管理就是把内存物理空间划分成大小相等的若干区域,一个区域称为一块.
                把逻辑地址空间划分为大小相等的若干页,页大小与块大小相等


“页”是逻辑单位,”块”是物理单位
逻辑地址是指由程序产生的与段相关的偏移地址部分。页式存储器的逻辑地址由两部分组成:页号和页内地址。
逻辑地址格式
总共有

220212Bytes 总 共 有 2 20 个 页 面 , 每 个 页 面 大 小 为 2 12 B y t e s

在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为 物理地址,又叫实际地址或绝对地址。
物理地址=块号X块长+页内地址

空间分配(以块为单位进行内存空间的分配)

根据作业长度确定页面数,装入内存时,根据作业的多少页数分配多少块内存空间
“位示图”记录内存的分配情况:每一位与一个物理块对应,构成一张内存分配表(位号X字号)

Created with Raphaël 2.1.2 开始 查看空闲块总数是否满足作业要求? 从位示图中找出为“0”的位, 并且将其占用标志置1 从空闲块总数中减去本次占用的块数, 按找到的位计算出对应的块号 建立该作业的页表,并把作业装入对应的物理块中 结束 yes no

块号i=字号X字长+位号
字号=[ i i 字 长 ]
位号=i mod 字长

页表与地址转换

页面映像表/页表:实现了页号到块号的地址映像,是地址转换的依据
动态重定位方式装入作业
分页系统的地址变换
 

逻辑地址 物理地址

 物理地址=页内地址(逻辑地址可知)+块号X块长
调度作业选择作业后,将作业的页表始址送入页表控制寄存器中
地址转换时,从页表寄存器找到相应的页表(页号到块号)
作业执行的时候,分页地址变换机构自动将逻辑地址分为页号和页内地址两部分,根据页号求出块号,再按逻辑地址中的页内地址计算出欲访问的内存单元的物理地址

快表

页表存放在内存中,每取一个数据或指令至少需要访问内存两次
第一次:访问内存中的页表,找出块号,与页内地址求出物理地址
第二次:根据物理地址进行数据的存取操作

快表:利用高速缓冲寄存器存放页表的一部分,存放在高速缓冲寄存器的这部分页表叫“快表”
快表登记了当前执行程序中最常用的页号与内存中块号的对应关系
快表

页的共享和保护

{ 共 享 { 数 据 共 享 ( 允 许 不 同 作 业 对 共 享 的 数 据 页 采 用 不 同 的 页 号 ) 程 序 共 享 ( 要 求 逻 辑 地 址 空 间 是 连 续 的 , 程 序 运 行 前 的 页 号 是 确 定 的 )

保护:通常在页表中增加一些标志位,指出该页的信息可读/写、只读、只执行、不可访问等,在CPU执行指令时进行核对,若不合法则中断(如对只读模块进行写操作)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值