操作系统中的内存分配

本文介绍了连续内存分配的基本概念,包括固定分区分配与可变分区分配两种主要方式,并详细阐述了首次适应、最佳适应及最差适应三种内存分配策略。

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

连续的内存分配

内存通常有两个区域
- 存放操作系统的区域
- 存放用户进程的区域
将多个进程存放到内存中需要考虑如何将输入队列中需要调入内存的多个进程进行内存分配。采用连续内存分配时,每个进程位于一个连续的内存区域。

内存分配方法

  1. 固定分区分配

    将内存分为多个固定大小的分区,每个分区只能容纳一个进程。当进程终止时,其分区可以被其他进程所利用。
    现在这种方案已经不再使用,主要用于批处理的环境。

  2. 列表内容

    在可变分区分配中,有个表记录哪些内存可用,哪些内存已被占用。有新的进程需要内存时,为该进程寻找满足需要的内存块,如果找到就为之分配内存
    在寻找内存块的时候有一下三种方案可以选择:

    • 首次适应:为进程分配第一个满足大小的内存块,查找从头开始找,一旦找到足够大的空闲块,就停止寻找,为之分配。
    • 最佳适应:分配能够满足进程的最小的空闲内存块,查找整个列表,寻找能搞满足进程的最小空闲内存块。该方法会产生最小剩余的内存块。
    • 最差适应:分配能够满足进程的最大空闲内存块,查找整个列表,寻找能够满足进程的最大空闲内存块,该方法会产生最小剩余内存块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值