内存 |
您所在的位置:网站首页 › 快表机制 › 内存 |
内存
内存的定义和作用
CPU处理速度快,从外存中读取慢 保证进程只能访问自己的内存空间,不能访问操作系统的内存空间,也不能访问别的进程的内存空间 方法一:在CPU中设置一对上下限寄存器 覆盖:解决 程序大小超过物理内存总和的问题 不常用的放到覆盖区 覆盖是在同一个程序或进程中的 好像和挂起差不多 PCB会常驻内存,不会被换出外存 交换是在不同进程或作业之间的 连续分配:指为用户进程分配的必须是一个连续的内存空间 单一连续分配一个用户程序独占整个用户区空间 整个用户空间划分为若干个固定大小分区 三个问题: 分配时选择不同空闲区域分配进程,则需要修改空闲分区表或空闲分区链 回收: 三种情况: (都需要合并起来并修改空闲分区表) 1.原来前面有空闲分区 2.原来后面有空闲分区 3.原来前后都有空闲分区 4.若前后都没有空闲分区,则在空闲分区表中增加一个表项 按顺序从空闲分区表或空闲分区表中找到第一个满足要求的,分配后将剩余的空闲分区重新排序 缺点:产生越来越多的小空闲分区(外部碎片) 循环链表,不需要对空闲分区链重新排序 把进程和内存分区都分为一个个大小相等的小分区 页式管理中每个页的页长是等大的,在分段管理中每个段的段长不同
用于存放页号和块号(在内存中的位置编号)的对应关系 页表建立了各个逻辑页面到实际的物理页框之间的关系 操作系统为每个进程都建立一张页表 越界中断:页号》=页表长度 若快表命中,则只需要访问一次内存;若未命中,则需要两次 查询快表的速度要比查询内存的速度快,最近使用过的页表项会放入快表,存放的是页表中的副本内容 如果首次查询的页表项(快表中没有),则需要查询内存(慢表) 如果重复查询(此时快表中有记录),则不需要再查询内存
解决了单级页表存在的两个问题
段表记录了各个逻辑段在内存中的存放位置(逻辑地址到物理地址的映射关系)。页表建立了各个逻辑页面到实际的物理页框之间的关系 页式管理中每个页的页长是等大的,在分段管理中每个段的段长不同 同理页表:段表中段号即使不显式的给出,也可以自行计算出 总:
简单来说:分段后再分页 段页式管理中:段表内容与段式管理不同,页表内容与页式管理相同 根据段号找到页表存放位置,然后根据找到的页表的内容找到相应的内存块号 段页式管理示意图
操作系统的虚拟性:实际的物理内存大小没有变,只是在逻辑上进行了扩充
当系统空间不够而需要将无用信息换出外存时,决定换出哪个页面的算法 打钩的:发生缺页中断。例题中9次 页面置换:内存满了时,将无用页面换出去了,将需要的页面调入。例题中6次 前面3次打钩的虽然发生了缺页(内存块中没有想要的,需调入内存),但并没有发生页面置换(并未换出无用的页)
类似于时针转圈,为各个页面设置一个访问位 每次选择淘汰访问位为0的页面 最多进行两轮扫描 最多进行四轮扫描,刑如(访问位,修改位)的形式表示各页面状态
预调页:一次调入若干页面(运行前调入) 请求调页策略: 刚换出的页面马上又要换入内存,刚换入又马上换出 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |