基本概念

时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

例题

  1. 完成表格
进程 到达时间 服务时间 完成时间 周转时间 带权周转时间
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2

解析:
进程处理的流程(P=1) :

     0.A   CPU服务A        1.A   CPU服务A        2.BA  当A执行完毕后被被放入队列的末尾,队列变成BA,CPU服务B3.AB  B执行完毕被放入末尾,队列变成AB,CPU服务A4.BC  A经过三次服务,处理完成。进程C进入队列并放在队尾,CPU服务B5.CB  B执行完毕被放入末尾,队列变成CB,CPU服务C6.BDC D进入队列放入队尾即B的后面,当C执行完毕后被放入末尾,队列变成BDC,CPU服务B7.DCB 接下来的服务以此类推8.CBED9.BEDC10.EDCB11.DCBE12.CBED13.BEDC14.EDCB15.DCB16.CBD17.BD18.D19.D

注:周转时间 = 完成时刻 - 进入系统时刻
带权周转时间 = 周转时间 / 所需服务时间

进程 到达时间 服务时间 完成时间 周转时间 带权周转时间
A 0 3 4 4 1.33
B 2 6 18 16 2.67
C 4 4 17 13 3.25
D 6 5 20 14 2.80
E 8 2 15 7 3.50

操作系统-时间片轮转调度算法相关推荐

  1. 操作系统--时间片轮转调度算法(RR算法)

    操作系统–时间片轮转调度算法(RR算法) 实验内容: 模拟实现时间片轮转调度算法,具体如下: 设置进程体:进程名,进程的到达时间,服务时间,,进程状态(W--等待,R--运行,F--完成),进程间的链 ...

  2. 操作系统|时间片轮转调度算法(RR)

    模拟实现非抢占式 将进程信息表的信息根据进入时间排序,判断当前时间线下有哪些进程到达,将其插入到等待队列中,等待分配一个时间片,若进程未全部执行结束,将其插入队尾,等待下次分配. 在进行插入队尾前判断 ...

  3. 操作系统时间片轮转调度算法 进程 到达时间 服务时间 p1 p2 p3 p4

    时间片轮转调度算法详细判断流程: 例题: 进程 到达时间 服务时间 P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 时间片为1 先放出来最终的结果 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ...

  4. 操作系统——时间片轮转调度算法(RR)

    RR算法总体思路流程图 主要数据结构及参数 typedef struct PCB {char name;//进程名int arrive_time;//到达时间float cpu_burst;//服务时 ...

  5. 操作系统 时间片轮转调度算法

    转自https://blog.csdn.net/u013630349/article/details/47732731 时间片轮转法(RR) 算法描述:用于分时系统中的进程调度.每次调度时,总是选择就 ...

  6. 操作系统实验二——时间片轮转调度算法(RR算法)(新进程放队首和队尾两种C++实现)

    情况介绍 基本原理 系统将所有就绪进程按照FCFS的原则,排成一个队列依次调度. 把CPU分配给队首进程,执行一个时间片(10-100ms). 时间片用完后,系统计时器发出时钟中断,该进程将被剥夺CP ...

  7. 《操作系统》一个优美的时间片轮转调度算法模拟Python实现

    节选自本人博客:https://www.blog.zeeland.cn/archives/time-slice-rotation-scheduling-algorithm Introduction 先 ...

  8. 计算机操作系统——处理机调度算法

    计算机操作系统--处理机调度算法 一.处理机调度的层次和调度算法的目标 1.处理及调度的层次 高级调度:(周期较长,大约几分钟一次) 又称为长程调度或作业调度 调度对象:作业 功能:根据算法决定将外存 ...

  9. 《操作系统》-调度算法

    调度算法 在了解调度算法之前我们先了解一下调度算法的评价指标从这几个方面入手:CPU利用率.系统吞吐量.周转时间.等待时间.响应时间 CPU利用率:指CPU"忙碌"的时间占总时间的 ...

最新文章

  1. Elasticsearch 安装和使用
  2. python散点图拟合曲线-python散点图:如何添加拟合线并显示拟合方程与R方?
  3. 腾讯觅影:AI+医疗不光能诊断癌症,还可以很公益
  4. C++ 自定义调试信息的输出
  5. 阿里云mysql创建多个用户_阿里云MySQL创建指定用户访问指定表
  6. 前端学习(2421):项目反馈
  7. 问题解决:java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
  8. 【时间管理法】用三个学期拿双学位,还不耽误睡眠和社交
  9. 强悍的 Linux —— linux 中 bin 和 sbin 目录的主要区别
  10. onvif协议之抓图
  11. Windows7 64位下SDK Manager.exe无法运行问题解决方法
  12. 最新最全git使用大全
  13. 内蒙古电大计算机考试成绩查询成绩查询,中考查分系统
  14. HeadFirstJava 10数字与静态
  15. uploadify php 重命名,Uploadify_THINKPHP配置说明
  16. 手把手教你在Android中使用bsdiff实现文件增量更新 (超详细)
  17. ArcGIS矢量图层面积计算方法
  18. 代理ip网速慢的原因
  19. 仙道服务器维护,【正式服】2月14日例行更新维护公告
  20. 2203-python 24点游戏

热门文章

  1. 赫夫曼树、赫夫曼编码
  2. SEDA,一个不错的技术。
  3. ai星际探索 爪子_通过特征空间探索实现可解释的人工智能
  4. 网站安全与渗透测试工程师岗位区别
  5. 线程的同步与互斥:互斥锁
  6. word如何给数学公式编号
  7. 裴蜀定理、拓展欧几里得及其证明
  8. java 拉姆达 lamdba get
  9. 土木工程与计算机专业考研学校排名,土木工程专业考研学校排名
  10. C++设计模式之状态模式(state)(行为型)