前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.4 无用单元收集

8.4 无用单元收集

原创
作者头像
小林C语言
修改2020-12-14 15:08:03
3200
修改2020-12-14 15:08:03
举报

01无用单元收集

1、可利用空间表的特点是,在用户请求存储时进行分配,在用户释放存储时进行回收,即系统时应用户的需求来进行存储分配和回收的,

2、在上面提到的存储管理系统中,用户必须明确给出“请求”和“释放”的信息。

3、在多用户分时并发的操作系统中,当用户程序进入系统时即请求分配存储区。

4、反之,当用户程序执行完毕退出系统时即释放所占存储。

5、在使用C语言编写程序时,用户是通过malloc和free两个函数来表示请求分配和释放存储的。

6、收集无用单元应分为两步进行:第一步是对所有占用结点加上标志;第二步时对整个可利用存储空间顺序扫描一遍,将所有标志域为“0”的结点链接成一个新的可利用空间表。

02伙伴系统

1、伙伴系统(buddy system)是操作系统中用到的另一种动态存储管理方法。

2、伙伴系统和边界标识法类似,在用户提出申请时,分配一块大小“恰当”的内存区给用户,在用户释放内存区时即回收。

3、在伙伴系统中,无论是占用块或空闲块,其大小均为2的k次幂(k为某个正整数)。

4、例如:当用户申请n个字的内存区时,分配的占用块大小为2的k次方个字(n大于2的(k-1)次方,小于2的k次方)。

5、由此,在可利用空间表中的空闲块大小也只能是2的k次幂。

6、若总的可利用内存容量为2的次方个字,则空闲块的大小只可能为2^0、2^1、……、2^k。

C语言?|?求100-200之间的素数

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com