非连续分配管理方式(离散分配方式)
分页存储管理方式
基本概念
分页存储的地址转换
将进程内部的数据随机分配之后,就会遇到物理地址向逻辑地址转换的问题,在之前连续分配管理方式中,使用动态重定位就可以解决这个问题。
如果把页号设置为2的整数倍,在计算机中只需要按照位数就可以直接找出页号和页面对应的物理地址
为了能记录每个页面在内存中存放的位置,操作系统要为每一个进程建立一个页表(页,页面)
页表中存放给每个页面在内存中存储的块号,块号乘以每个块(页框,页帧,物理块,内存块)的大小就知道了这个块的实际存储位置。
页表中的页号实际上是没有数据存储的,因为知道了页表头的位置之后就能之后后面每个页号的存储位置
总结
基本地址变换机构
每个页表也是存在对应的页中的,如果每个页表的页表项不是2的整数次幂,则就会出现内部碎片。
具有快表的地址变化机构
局部性原理
快表(联想寄存器)
快表是由更加快速的硬件设备,根据局部性原理来把最近访问过的进程备份到快表中,如果再次访问到快表中的数据,就直接从快表中提取数据。
两级页表
单级页表可能会出现的问题:
问题一:页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框
问题二:没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问某几个特定的页面。
如果没有快表结构n级列表需要访存次数是n+1次
分段存储管理方式
基本概念
分段系统结构
分段存储的地址转换
分页中由于每个页面的大小是一样的所以不用对页内偏移量进行检查,但是分段中每个段的大小不一样所以要根据这个段的大小进行段内偏移量检查
分页和分段也区别
分段的优势
段页式管理方式
基本概念
段页是管理逻辑结构
段页式存储的段表和分段存储里面的段表存储是不同的,分段储存中段表中存放的是分段的首地址,而段页存储中存放的是页表长度和页表的首地址。一个进程对应一个段表但是可能对应多个页表
段页式存储方式的地址转换
真题
2014:
增大快表容量,让页表常驻内存可以加快虚实地址装换