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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

操作系统最短作业优先(SJF)调度


到目前为止,我们根据它们的到达时间(在FCFS调度中)调度这些进程。 但是,SJF调度算法根据其突发时间安排进程。

在SJF调度中,就绪队列中可用进程列表中的突发时间最短的进程将在下一个进行调度。

然而,预测一个过程所需的突发时间是非常困难的,因此这个算法在系统中很难实现。

SJF的优势

  • 最大吞吐量
  • 最低的平均等候时间和周转时间

SJF的缺点

  • 可能会面临饥饿问题
  • 这是不可实现的,因为一个进程的确切爆发时间不能预先知道。

有一些其它的技术可用来确定进程的CPU突发时间。 我们稍后会详细讨论它们。

示例

在以下示例中,有五个作业命名为:P1P2P3P4P5。 他们的到达时间和爆发时间在下表中给出。

PID 到达时间 突发时间 完成时间 周转时间 等待时间
1 1 7 8 7 0
2 3 3 13 10 7
3 6 2 10 4 2
4 7 10 31 24 14
5 9 8 21 12 4

因为,没有过程在时间0到达; 从时间01(第一个过程到达的时间)甘特图中会有一个空槽。

根据该算法,OS调度就绪队列中可用进程中具有最低突发时间的进程。

到目前为止,我们在就绪队列中只有一个进程,因此调度器会将它安排到处理器,而不管它的突发时间是多少。

这将被执行到8个单位的时间。 直到那时又有三个进程到达就绪队列,因此调度器将选择具有最低突发时间的进程。

在表中给出的过程中,接下来将执行P3,因为它在所有可用进程中具有最低的突发时间。

所以这就是程序如何以最短作业优先(SJF)调度算法进行。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)