×
操作系统教程操作系统的定义和功能操作系统的类型

进程管理

与进程有关的时间操作系统CPU调度操作系统调度算法操作系统FCFS调度操作系统FCFS护航效果操作系统FCFS与开销操作系统最短作业优先(SJF)调度预测SJF进程的CPU突发时间最短剩余时间优先(SRTF)调度算法循环调度算法循环调度算法示例最高响应比下(HRRN)调度最高响应比下(HRRN)调度示例优先级调度非抢占式优先级调度抢先式优先级调度

同步

进程同步简介临界区问题锁定变量机制测试集锁定机制优先级反转开启可变或严格的交替方式感兴趣变量机制帕特森(Peterson)解决方案同步机制无需等待睡眠和唤醒信号量介绍计算信号量的问题计算信号量的问题二进制信号量或互斥量

死锁

死锁简介处理死锁的策略死锁预防避免死锁避免死锁使用RAG进行死锁检测死锁检测和恢复

内存管理

内存管理简介固定分区动态分区压缩(碎片整理)用于动态分区的位图链表动态分区分区算法分页技术分页技术实例二进制地址基础知识物理和逻辑地址空间页表从页表映射到主内存页表项查找最佳页面大小虚拟内存后备缓冲器按需分页转换页表页面替换算法Belady异常分段分页与分段比较分段的分页

文件管理

文件的属性文件上的操作文件访问方法目录结构一级目录两级目录树型结构目录非循环图结构化目录文件系统文件系统结构主引导记录(MBR)磁盘中的数据结构内存中的数据结构目录实现目录实现连续分配链表分配文件分配表索引分配链接索引分配索引节点空闲空间管理磁盘调度

动态分区


动态分区试图克服由固定分区造成的问题。 在这种技术中,分区大小最初并未声明。 它在进程加载时声明。

第一个分区是为操作系统保留的。 剩余空间分成几部分。 每个分区的大小将等于进程的大小。 分区大小根据进程的需要而变化,以避免内部碎片。

动态分区比固定分区的优势

1. 没有内部碎片
考虑到动态分区中的分区是根据进程的需要创建的,很明显,不会有任何内部碎片,因为分区中不会有任何未使用的剩余空间。

2. 对过程的大小没有限制
在固定分区中,由于缺少足够的连续内存,因此大于最大分区大小的进程无法执行。 这里,在动态分区中,由于分区大小是根据进程大小决定的,因此进程大小不能受到限制。

3. 多程序的程度是动态的
由于没有内部碎片,分区中不会有任何未使用的空间,因此可以同时将更多的进程加载到内存中。

动态分区的缺点

外部碎片
没有内部碎片并不意味着不会有外部碎片。

让我们考虑三个进程P1(1 MB)和P2(3 MB)和P3(1 MB)正在加载到主内存的各个分区中。

一段时间后,P1和P3完成并释放指定的空间。 现在,在主内存中有两个未使用的分区(1 MB和1 MB),但它们不能用于在内存中加载2 MB进程,因为它们不是连续定位的。

该规则表示,该进程必须连续存在于主内存中才能执行。需要更改此规则以避免外部碎片。

复杂的内存分配

在固定分区中,分区列表只会生成一次,并且永远不会改变,但在动态分区中,分配和释放非常复杂,因为每次分配给新进程时分区大小都会发生变化。 操作系统必须跟踪所有的分区。

由于在动态内存分配中分配和取消分配的操作非常频繁,而且分区大小每次都会改变,所以操作系统很难管理所有内容。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)