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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

操作系统FCFS护航效果


如果第一个作业的爆发时间是最高的,FCFS可能会受到队列影响。 就像在现实生活中一样,如果队列在路上经过,那么其他人可能会被堵塞,直到完全通过。 这也可以在操作系统中进行模拟。

如果CPU在就绪队列的前端获得较高突发时间的进程,则较低突发时间的进程可能被阻塞,这意味着如果执行中的作业具有非常高的突发时间,则它们可能永远不会获得CPU。 这被称为队列效应饥饿

示例

在这个例子中,我们有3个进程被命名为P1P2P3。 进程P1的暴发时间最高。

下表中的周转时间和等待时间通过公式计算,

Turn Around Time = Completion Time - Arrival Time  
    Waiting Time = Turn Around Time - Burst Time

在第一种情况下,虽然流程P1到达队列中的第一个, 该过程的爆发时间是最高的。 由于调度算法,我们所遵循的是FCFS,因此CPU将首先执行Process P1。

在这个时间表中,系统的平均等待时间将非常高。 这是因为车队的影响。 其他进程P2,P3必须等待40个单位时间,尽管他们的爆发时间非常短。 这个时间表遭受饥饿。

进程ID 到达时间 突发时间 完成时间 转换时间 等待时间
1 0 40 40 40 0
2 1 3 43 42 39
2 2 4 12 8 4
3 1 1 44 43 42

平均等待时间= 81/3

在第二种情况下,如果进程P1本来就已经到达队列的最后,而其他过程P2P3早于那么饥饿问题就不存在了。

以下示例显示了这两种情况的等待时间的偏差。 虽然时间表的长度是相同的,即44个单位,但是在这个时间表中等待时间将会减少。

进程ID 到达时间 突发时间 完成时间 转换时间 等待时间
1 1 40 44 43 3
2 0 3 3 3 0
2 2 4 12 8 4
3 0 1 4 4 3


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)