搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Gausst松鼠会
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
索引知识二:联合索引、覆盖索引和索引下推详解_覆盖索引 和索引
2
算法沉淀——动态规划之子序列问题(上)(leetcode真题剖析)_构建子序列算法题
3
主业外的第二副业选什么比较好,适合普通人的坚持之路_抖客 收益
4
终端安全加强
5
基于java教室自习室预约系统 (springboot框架)开题答辩常规问题和如何回答_自习室管理系统答辩
6
有趣的代码注释
7
Vue3 exceljs库实现前端导入导出Excel_vue exceljs
8
知识图谱-构建:知识图谱构建流程【本体构建、知识抽取(实体抽取、 关系抽取、属性抽取)、知识表示、知识融合、知识存储】_知识图谱构建过程
9
java高级篇 Mybatis-Plus_assign_id
10
linux 内核参数 rss,容器内核参数
当前位置:
article
> 正文
常见内存分配算法及优缺点_小内存算法的优缺点
作者:Gausst松鼠会 | 2024-04-10 23:57:57
赞
踩
小内存算法的优缺点
常见内存分配算法及优缺点
常见内存分配算法及优缺点如下:
(1)首次适应算法。使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小需求的空闲分区为止。然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。
该算法倾向于使用内存中低地址部分的空闲分区,在高地址部分的空闲分区非常少被利用,从而保留了高地址部分的大空闲区。显然为以后到达的大作业分配大的内存空间创造了条件。缺点在于低址部分不断被划分,留下许多难以利用、非常小的空闲区,而每次查找又都从低址部分开始,这无疑会增加查找的开销。
(2)循环首次适应算法。该算法是由首次适应算法演变而成的。在为进程分配内存空间时,不再每次从链首开始查找,而是从上次找到的空闲分区开始查找,直至找到一个能满足需求的空闲分区,并从中划出一块来分给作业。该算法能使空闲中的内存分区分布得更加均匀,但将会缺乏大的空闲分区。
(3)最佳适应算法。该算法总是把既能满足需求,又是最小的空闲分区分配给作业。
为了加速查找,该算法需求将所有的空闲区按其大小排序后,以递增顺序形成一个空白链。这样每次找到的第一个满足需求的空闲区,必然是最优的。孤立地看,该算法似乎是最优的,但事实上并不一定。因为每次分配后剩余的空间一定是最小的,在存储器中将留下许多难以利用的小空闲区。同时每次分配后必须重新排序,这也带来了一定的开销。
(4)最差适应算法。最差适应算法中,该算法按大小递减的顺序形成空闲区链,分配时直接从空闲区链的第一个空闲分区中分配(不能满足需要则不分配)。非常显然,如果第一个空闲分区不能满足,那么再没有空闲分区能满足需要。这种分配方法初看起来不太合理,但他也有非常强的直观吸引力:在大空闲区中放入程式后,剩下的空闲区常常也非常大,于是还能装下一个较大的新程式。
最坏适应算法和最佳适应算法的排序正好相反,他的队列指针总是指向最大的空闲区,在进行分配时,总是从最大的空闲区开始查寻。
该算法克服了最佳适应算法留下的许多小的碎片的不足,但保留大的空闲区的可能性减小了,而且空闲区回收也和最佳适应算法相同复杂。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/401749
推荐阅读
article
MySQL
查询
语句...
mysql
查询
语句_mysql
查询
语句mysql
查询
语句 一、基...
赞
踩
article
git
bash
上传文件至
git
hub
仓库
...
git
bash
上传文件至
git
hub
仓库
git
bash
上传文件至
git
hub
仓库
...
赞
踩
article
2020年
1
月
Github
上
最
热门
的
开源
项目_
github
opengw
...
来自:
开源
最
前线(ID:OpenSourceTop)
1
月份GitHub上
最
热门
的
开源
项目排行已经出炉啦,一起来看看上榜详...
赞
踩
article
windows
平台下
kafka
简单安装使用_d:\
kafka
_
2.11
-
1.1
.0\
logs
\top...
windows
平台下
kafka
简单安装使用一、安装jdk二、安装zookeeperKafka的运行依赖于Zookeepe...
赞
踩
article
【雕爷学编程】
Arduino
智能家居
之使用
Arduino
Uno和
ESP8266
模块
连接
到
WiFi
网...
同时,要注意网络的安全性,可以使用加密的
WiFi
网络,如WPA2,以保护通信过程中的数据安全。4、智能窗帘和门窗控制:通...
赞
踩
article
ROS
高效入门第四章
--
自定义
ROS
消息,
编写
python
pub
+
sub
样例...
step by step带你
编写
ros
python
的收发样例
ROS
高效入门第四章
--
自定义
ROS
消息,
编写
pyth...
赞
踩
article
docker
安全
_
docker
构架
的
缺陷与
安全
机制
...
目录 一、Docker 容器与虚拟机
的
区别1、隔离与共享2、性能与损耗二、Docker 存在
的
安全
问题1、
docker
自...
赞
踩
article
【
Arduino
】
Arduino
IDE
使用
教程
-超详细
_
arduinoide
...
本篇文章可以结合上一篇【
Arduino
】一天入门
Arduino
语言
教程
学习
Arduino
语法,以及
Arduino
ID...
赞
踩
article
Python
下载
速度
太慢?使用
国内
网站
速度
直接飞起(附安装教程)_
python
国内
下载
...
在官网
下载
Python
速度
太慢,使用
国内
网站
速度
直接飞起_
python
国内
下载
python
国内
下载
...
赞
踩
article
ENSP
:
端口
隔离
技术和
镜像
端口
技术配置_
端口
镜像
配置...
端口
隔离
及
镜像
端口
的简单使用_
端口
镜像
配置
端口
镜像
配置
端口
隔离
:
端口
隔离
是为了实现报文之间的二...
赞
踩
article
全方位揭秘!大
数据
从0到1
的
完美落地之
Linux
系统目录
和
网络连接
...
目录描述、说明
Linux
的
根目录/binbinaries,存放系统命令
的
目录,所有用户都可以执行/sbinsuper u...
赞
踩
article
AIGC
智能
编程
:提升
开发
效率
之利器_
aigc
编程
...
AIGC
智能
编程
作为一种利用人工
智能
技术提高软件
开发
效率
的方法,已经在实际中得到了广泛的应用。通过从大量的代码样本中学习...
赞
踩
article
途游
游戏
,
科锐国际(
计算机
类
)
,
快手
,
CVTE
,
得物
,
蓝禾
,
奇
安信
,
顺丰
,
康冠
科技
,
金证
科技
24春招...
途游
游戏
,
科锐国际(
计算机
类
)
,
快手
,
CVTE
,
得物
,
蓝禾
,
奇
安信
,
顺丰
,
康冠
科技
,
金证
科技
24春招内推。【一键内推】:...
赞
踩
article
Linux
系统上的
防火墙
命令
_
linux
防火墙
命令
...
一、
防火墙
操作在Linus系统上的
防火墙
是一种服务。二、使用步骤1.引入库查看
防火墙
状态systemctl status...
赞
踩
article
Git
——
忽略
文件
的4种
方法
_
git
忽略
文件
...
如果你有一个像web.config这样的配置
文件
需要被
Git
跟踪,但希望
忽略
本地更改,那么这种情况无法用.
git
igno...
赞
踩
article
hopfield
神经网络
_
使用
Python
中的
卷积
神经网络
进行
恶意软件
检测...
导言在这篇文章中,我们将学习人工网络架构以及如何
使用
其中一个(
卷积
神经网络
)来帮助
恶意软件
分析师和信息安全专业人员检测和...
赞
踩
article
未能
对
git
remote
进行
身份验证
( 已解决 )_
未能
对
git
remote
进行
身份验证
:
...
一、错误图片二、问题原因修改了
git
lub上密码,未同步到windows凭据管理器中三、解决步骤1.控制面板→用户账户→...
赞
踩
article
Windows10
下
Kafka
的安装流程_
win10
安装
kafka
...
①在启动一个命令窗口创建主题:\bin\windows\
kafka
-topics.bat --create --boot...
赞
踩
article
【
RSYSLOG
系列】
rsyslog
远程
服务器
搭建...
搭建接收日志的
rsyslog
服务器
_
rsyslog
rsyslog
...
赞
踩
article
菜鸟
药费
_
开放
科学
可以
帮助
患者
并
节省
药费
吗?...
菜鸟
药费
开放
式科研混合开发模式
可以
保护制药公司的利润,同时降低消费者的药品成本 查看
开放
科学
周文章的完整集合 当前的药...
赞
踩
相关标签
mysql
sql
数据库
git
bash
github
仓库
windows下kafka简单使用
智能家居
网络
c++
嵌入式硬件
物联网
Arduino
ESP8266连接到WiFi
python
机器人
开发语言
docker
运维
linux
Arduino IDE教程
Arduino IDE使用教程
Arduino IDE详解