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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

循环调度算法示例


在以下示例中,有六个进程分别命名为P1,P2,P3,P4,P5和P6。 他们的到达时间和爆发时间如下表所示。 系统的时间量是4个单位。

进程ID 到达时间 突发时间
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

根据算法,我们必须保持就绪队列和甘特图。 两个数据结构的结构在每次调度后都会改变。

就绪队列:
最初,在时间0,过程P1到达,其将被安排为时间片4单位。 因此,在就绪队列中,在CPU突发时间5个单元开始时将只有一个进程P1。

P1
5

甘特图
P1将首先执行4个单位。

就绪队列

同时执行P1,另外四个进程P2,P3,P4和P5到达就绪队列。 P1还没有完成,它需要另外1个单位时间,因此它也将被添加回就绪队列。

P2 P3 P4 P5 P1
6 3 1 5 1

甘特图

在P1之后,P2将在甘特图中显示的4个单位时间内执行。

就绪队列

在执行P2期间,再有一个进程P6进入就绪队列。 由于P2尚未完成,因此P2也将被添加回就绪队列,剩余的突发时间为2个单位。

P3 P4 P5 P1 P6 P2
3 1 5 1 4 2

甘特图
在P1和P2之后,由于其CPU突发时间仅为3秒,因此P3将执行3个单位时间。

就绪队列

由于P3已经完成,因此它将被终止并且不会被添加到就绪队列中。 下一个进程将执行P4。

P4 P5 P1 P6 P2
1 5 1 4 2

甘特图

之后,P1,P2和P3,P4将被执行。 它的爆发时间只有1个单位,与时间量相比更小,因此它会完成。

就绪队列

就绪队列中的下一个进程是P5,有5个单位的突发时间。 由于P4已完成,因此它不会被添加回队列。

P5 P1 P6 P2
5 1 4 2

甘特图
P5将在整个时间片执行,因为它需要5个单位的突发时间,这比时间片更高。

就绪队列
P5尚未完成; 它将被添加回队列中,其余的突发时间为1个单位。

P1 P6 P2 P5
1 4 2 1

甘特图
进程P1将在下一个回合完成执行。 由于它只需要1单位的突发时间,因此它将被完成。

就绪队列
P1已完成并且不会被添加回就绪队列。 接下来的处理P6仅需要4个单位的突发时间,接下来将被执行。

P6 P2 P5
4 2 1

甘特图
P6将执行4个单位时间直至完成。

就绪队列
由于P6已完成,因此不会再次添加到队列中。 就绪队列中只有两个进程。 下一个进程P2只需要2个单位的时间。

P2 P5
2 1

甘特图

P2将再次执行,因为它只需要2个单位时间,因此这将会完成。

就绪队列

现在,队列中唯一可用的进程是P5,它需要1个单位的突发时间。 由于时间片是4个单位,因此它会在下一次突发中完成。

P5
1

甘特图
P5将被执行直至完成。

完成时间,周转时间和等待时间将按下表所示计算。

周转时间 = 完成时间 - 到达时间
等待时间 = 周转时间 - 爆发时间
进程ID 到达时间 爆发时间 完成时间 周转时间 等待时间
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 11 9 6
4 3 1 12 9 8
5 4 5 24 20 15
6 6 4 21 15 11

平均等待时间=(12 + 16 + 6 + 8 + 15 + 11)/ 6 = 76/6个单位


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)