存储管理2-页式与段式存储管理

本文介绍了页式和段式存储管理,页式管理通过逻辑地址与物理地址的映射实现无外部碎片,但存在额外的页表维护成本;段式管理依据程序逻辑结构划分,避免内部碎片,但可能存在外部碎片。段页式管理结合两者的优点,既保持逻辑结构又优化存储效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页式存储管理

计算机存储的层次结构:寄存器,高速缓存cache,主存储器DRAM,DDRAM,外部存储器


分区是进程的连续存储;以下是分散存储

原理:物理内存划分许多固定大小的块,称物理页面,页框,逻辑地址空间划分大小相同的块,称逻辑页面,页面;二者大小相同,两种块之间实现映射,物理页面可以不连续;

管理:逻辑空间统一编址,分页,标记页号(0开始);内存空间统一编址,分页,标记页号(0开始);分页大小一般为2的k次方

逻辑地址表示:页号+页内地址

对应关系:

页号=逻辑地址/页面大小

页内地址=逻辑地址%页面大小

实际采用二进制截取,页面大小2的k次方

逻辑地址二进制表示低k位为页内地址

剩余高位为页号


地址转换:

页表记录映射关系:位于系统空间页表区存放逻辑页号与物理页号的对应关系,PCB中有指向页表的指针,物理页号与逻辑页的页内地址组成物理地址

硬件动态地址转换机构将逻辑地址映射为物理地址


读页表额外的访问内存,影响效率,

快表:联想存储器,类似高速缓存,保存最近一段时间常用的页表项

 

页式存储可以实现代码共享;几个逻辑块指向同一物理内存块;

 

优点:没有外部碎片,进程最后一个页面可能有内部碎片;可以不连续存放,标语管理

缺点:进程全装入内存才可以运行,每个进程都有页表,需要维护,有开销;

 

 

段式存储管理:

页式中逻辑地址连续,实际程序结构并不如此,由几个片段组成

逻辑空间中:依逻辑单元分段,每个段内部,是一维线性连续地址空间

段大小不等,内容不同,如代码段,数据段,堆,栈等

物理内存中,采用可变分区存储管理(相当于其扩展),依段的大小分配空间;所得物理内存分区可以不连续

逻辑地址表示:段号,段内偏移地址;


管理:段表(每个进程都有),逻辑段有段号,段表中记录了段号,对应的物理内存段基地址和段长等信息;保存于内存,操作系统管理;普通用户进程不可访问,故硬件上增加段表基址寄存器,段表长度寄存器(即段的个数),便于访问;
映射时,与页表不同,段号对应的段基地址+段内偏移即可
优点:没有内部碎片,段间分别管理,便于改变
缺点:进程全装入内存才可以运行,会存在外部碎片
也有快表


集合二者优点
段页式管理
页式管理优势,段式逻辑优势
原理:先程序分段,段中分页;
逻辑地址
分为段号,段内偏移,段内偏移分成逻辑页面号,页内偏移
物理内存,按照页式存储管理方案;页面为单位分配
管理:

段表:段号,每个段的页表起始地址,页表长度
页表:页号,内存块号


每个段都有一个自己的页表
从内存取数据或指令,需要访问三次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值