进程的加载过程

本文介绍了进程的加载过程,特别是在内存不足时采用页表管理及虚拟内存的使用。通过分页避免外部碎片,但可能导致内部碎片。虚拟内存允许程序部分驻留内存,其余在磁盘上,增加可执行进程数量。当访问不在内存的页时,会发生页中断,导致系统可能产生抖动。为减少页错误,文章提到了FIFO和LRU页面置换算法。

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

假如有一个可执行程序,它有自己的大小。将可执行程序加载到内存空间有各种方法,以下是我们便于理解的一种方法。

这里写图片描述

如上图,如果想再加载一个程序进去,理论上空间够用,但实际上放不进去,因此这种管理方案浪费的内存较大,会产生外部碎片

因此我们可以使用页表来对内存进行管理,下图是使用页表的方法。

页表:操作系统会为每一个进程维护一个页表,页表主要记录其加载时每个块对应的页号。
分页的特点:不要求所有的块连续,可以避免外部碎片,但是会产生内部碎片。

这里写图片描述

由上图,分页将物理内存上的空间划分为很小的区块,这个区块成为页。内存上的程序使用完后释放,再循环使用,可以提高空间使用率。

假如上图的内存有20个区块,可执行程序有5个区块,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值