内存空间的分配与回收

当一个进程需要一定内存的时候,操作系统要怎样记录,哪些内存已经被分配出去,哪些还空闲以及进程所需要的内存应该在哪里开辟呢?
当一个进程运行结束之后,怎样将这个进程占用的内存空间进行回收呢?这就涉及到内存空间的分配与回收。
传统的内存空间管理
页式管理
将内存空间分成一个个大小相等的分区(每个4k),每个分区就是一个页框,或页帧。每一个页帧都有一个编号,就是页帧号。将用户进程的地址空间也分为与页框大小相等的一个个区域,称为页。每一个页放进一个页框里。所以操作系统分配内存空间的时候,是以页框为单位为各个进程分配的。分页存储管理的逻辑地址结构应该是如下所示:0000000001 00100111001页号 页内偏移量另外为了能够知道进程的每个页面在内存中存放的位置,操作系统还需要为每一个进程建立一张页表
段式管理
把内存空间按照程序自身的逻辑,分成若干个段,各个段大小不一定相同。在段式管理当中,要对段内地址是否超过段长做一个越界检查。物理地址=段基址+段内地址段页式管理就是先分段再分页。按照成代码的逻辑进行分段,然后根据每一段的空间的大小进行分页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值