【操作系统】3.2 内存的覆盖和交换

覆盖和交换

覆盖

如果在程序运行期间要将所有的程序数据装入内存,那么60G大的GTA5就需要60G的运行内存了。但是实际上在程序运行时,有些数据是暂时不需要的,他们可以暂时不装入内存这么快。比如下图:B模块和C模块是不会同时执行的,因此只需要在内存中空出一个10K的覆盖区,在需要B的时候将B存入,要C的时候将C存入,而不是将B和C都存入内存。

image-20220302225202688

覆盖技术提升了内存的使用效率,将暂时不需要使用的信息留在了外存。但是哪些是需要使用的哪些是不需要使用的,需要在编写程序的时候需要指明,这增加了程序猿的负担和设计程序的难度,这种技术现在基本已淘汰

交换

交换的思想是,把处于等待状态,暂时不需要使用的程序移动到外存(换出);将准备好的,等待执行的进程移动到内存(换入)。通过动态调度平衡内存和外存的空间。采用了交换技术之后,挂起态可以细分为就绪挂起阻塞挂起两种情况。

image-20220302234903316

在外存中,将磁盘功能分为文件区和对换区。文件区主要用于存储文件,追求磁盘空间利用率,因此采用离散分配的方式;对换区只占小部分,用于存放被换出的进程数据,主要追求换入换出速度,因此采用连续分配的方式。

可以优先换出阻塞进程、优先级低的进程、内存驻留时间长的。进程的PCB会常驻于内存,因为需要通过PCB找到进程的数据被调出到了外存中的哪个地方,并且PCB是进程存在的证明,PCB调出外存会让计算机以为进程不存在了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值