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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

分区算法


操作系统实现了各种算法,以便找出链表中的空洞并将它们分配给进程。

关于每种算法的解释如下。

1. 第一拟合算法

第一拟合算法(First Fit)算法扫描链表,每当它找到第一个足够大的孔来存储进程时,它就会停止扫描并将进程加载到该进程中。 该过程产生两个分区。 其中,一个分区将是一个空洞,而另一个分区将存储该进程。

First Fit算法按照起始索引的递增顺序维护链表。这是所有算法中最简单的实现方式,与其他算法相比,它产生更大的空洞。

2. 下一个拟合算法

Next Fit算法与First Fit算法类似,不同之处在于,Next fit从先前分配空洞的节点扫描链表。

下一个适合不扫描整个列表,它开始扫描下一个节点的列表。 下一个拟合背后的想法是列表已被扫描一次,因此在列表的其余部分查找空洞的可能性更大。

该算法的实验表明,下一个拟合并不比第一个拟合更好。 所以这些日子在大多数情况下都没有被使用。

3. 最佳拟合算法

最佳拟合算法试图找出列表中可能的最小空洞,以适应流程的大小要求。

使用Best Fit有一些缺点。

  1. 由于每次扫描整个列表并试图找出能够满足过程要求的最小空洞,因此速度较慢。

  2. 由于整个尺寸与工艺尺寸之间的差异非常小,所产生的孔将会小到不能用于加载任何工艺,因此它仍然没有用处。尽管算法的名称最适合,但它并不是最好的算法。

4. 最差拟合算法

最差匹配算法每次都扫描整个列表,并试图找出列表中最大的空洞,以满足过程的要求。

尽管这个算法产生了更大的漏洞来加载其他进程,但这并不是更好的方法,因为它比较慢,因为它每次都搜索整个列表。

5. 快速拟合算法

快速拟合算法建议保留常用大小的不同列表。 虽然,实际上这并不是可以暗示的,因为程序需要花费很多时间来创建不同的列表,然后花费空间来加载进程。

第一个拟合算法是所有算法中最好的算法,这是因为

  • 与其他算法相比,花费的时间更少。
  • 它会产生更大的空洞,以后可以用来加载其他进程。
  • 这是最容易实现的。

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)