一、课程信息
打卡时间:2022.9.24
课程名称:2022新版编程必备基础,计算机组成原理+操作图片描述系统+网络
章节名称:第6章 操作系统之基础篇
讲师: 咚咚呛
二、今日课程
课程内容:操作系统的内存分配过程、使用的数据结构以及内存分配算法;内存回收的情况以及针对不同情况的回收方法
三、学习心得
存储管理之内存分配
计算机的存储管理需要保障三件事:确保计算机有足够的内存处理数据、确保程序可以从可用内存中获取一部分内存使用、确保程序可以归还使用后的内存以供其它程序使用。
内存分配过程:
单一连续分配时最简单的内存分配方式;固定分区分配,支持多道程序的最简单存储分配方式;根据进程实际需要,动态分配内存空间,涉及到相关的数据结构和具体算法。
动态分区分配:
数据结构:空闲表、空闲链
算法:首次适应算法(FF算法)、最佳适应算法(BF算法)、快速适应算法(QF算法)
FF算法:每次进行内存分配都是从开始顺序查找合适内存区,主要使用空闲链的数据结构。缺点:每一次分配都是从头部开始,针对这一缺点提出了循环适应算法,每次从上次查找结束点开始查找。
BF算法:最佳适应算法要求空闲区链表按照容量大小排序,遍历空闲区链表找到最佳合适空闲区
QF算法:要求有多个空闲链表,每个空闲链表存储一种容量的空闲区,这样就可以快速找到适合某种进程的内存区
存储管理之内存回收
内存回收可能会出现四种情况以及回收方案:
1、回收区和空闲连接在一起,空闲区在回收区之前;方案:直接合并回收区和空闲区就可以了
2、回收区和空闲连接在一起,空闲区在回收区之后;方案:合并回收区和空闲区,之后将回收区首地址作为新的空闲区的首地址
3、回收区位于两块空闲区之间;方案:将空闲区1、回收区、空闲区2合并就可以了
4、单一的回收区;方案:为回收区创建新的空闲节点,再插入到空闲链表就可以了
四、学习截图
共同学习,写下你的评论
评论加载中...
作者其他优质文章