文章目录
- 一. 交换状态、进程七状态模型
- 二. 内存的分配方式
- 三. 动态分配算法
一. 交换状态、进程七状态模型
- 交换技术:内存空间紧张,把某些进程暂时换出外存。(进程在内存与磁盘间动态调度)
- 进程七状态:相对于五状态,多了两种挂起状态(挂起:换到外存)
- (以后谈到进程状态的时候,可以再提提挂起态噢)
- 进程换到磁盘的存储位置:对换区(连续存储,更快)。外存还有文件区,这地儿是用来存储的(占比更多),更追求空间利用率,因此采用离散存储。
- 何时交换:缺页频繁时
- 换出哪些进程?
- 阻塞进程(反正你也跑不了,不如把你换了~)
- 低优先级进程
- 注意:PCB 常驻内存,不会被换出
二. 内存的分配方式
- 前提:操作系统需要为用户进程分配连续的内存空间。
- 动态分区分配:进程装入内存时,才动态地建立分区(动态分区没有内部碎片)
- 内部碎片:分配给进程的内存区域,有部分没用上
- 外部碎片:内存空闲分区太小,分配不了
- 外部碎片的解决方法:紧凑技术(往下压,类似 JVM GC 的标记压缩算法)
三. 动态分配算法
- 这地儿…也不知道重不重要,总之先写一点笔记吧
- 四种算法各有优劣
- 首次适应:按序找,用第一个合适的。综合性能最好
- 最佳适应:优先使用更小的。(产生很多碎片)
- 最坏适应:优先使用更大的。(解决碎片问题,但不利于大进程)
- 邻近适应:从上一次查找的结束位置开始查找。