时间片轮转调度算法详解

时间片轮转调度算法详解轮转调度算法 Round Robin RR 在分时系统中都采用时间片轮转算法进行进程调度 时间片是指一个较小的时间间隔 通常为 10 100 毫秒 在简单的轮转算法中 系统将所有的就绪进程按先来先服务 即 FIFO 规则排成一个队列 将 CPU 分配给队首进程 且规定每个进程最多允许运行一个时间片 若时间片使用完进程还没有结束 则被加入就绪 FIFO 队列队尾 并把 CPU 交给下一个进程 时间片轮转算法只用于进程调度 它属于抢占调度方式 优点 CPU 分配相对公平 平均响应时间较短缺点 不利于紧急作业 而且当进程

下面根据一个典型例题来展示,时间片轮转算法的调度过程。

例:考虑5个进程P1、P2、P3、P4、P5,如下表,试计算在采用下述时间片轮转调度算法时各个进程周转时间和带权周转时间。假设忽略进程的调度时间。

时间片轮转调度算法详解

 

时间片轮转算法调度过程
时间/ms 就绪队列 描述(执行顺序)
0 P1 调度P1进程
1 P1 调度P1进程
2 P2,P1 2ms时P2进程到达;P1进程调度完,插入队列末尾;调度P2进程
3 P1,P2 P2进程调度完,插入队列末尾;调度P1进程
4 P2,P3 4ms时P3进程到达;P1进程运行完成;调度P2进程
5 P3,P2 P2进程调度完,插入队列末尾;调度P3进程
6 P2,P4,P3 6ms时P4进程到达;P3进程调度完,插入队列末尾;调度P2进程
7 P4,P3,P2 P2进程调度完,插入队列末尾;调度P4进程
8 P3,P2,P5,P4 8ms时P5进程到达,插入队列末尾;P4进程调度完,插入队列末尾;调度P3进程
9 P2,P5,P4,P3 P3进程调度完,插入队列末尾;调度P2进程
10 P5,P4,P3,P2 P2进程调度完,插入队列末尾;调度P5进程
11 P4,P3,P2,P5 P5进程调度完,插入队列末尾;调度P4进程
12 P3,P2,P5,P4 P4进程调度完,插入队列末尾;调度P3进程
13 P2,P5,P4,P3 P4进程调度完,插入队列末尾;调度P2进程
14 P5,P4,P3,P2 P2进程调度完,插入队列末尾;调度P5进程
15 P4,P3,P2 P5进程运行结束;调度P4进程
16 P3,P2,P4 P2进程调度完,插入队列末尾;调度P3进程
17 P2,P4 P3进程运行结束;调度P2进程
18 P4 P2进程运行结束;调度P4进程

19

P4 调度P4进程
20 P4进程运行结束

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233085.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 骨骼动画教程,使用DragonBones开发FLASH骨骼动画入门教程

    android 骨骼动画教程,使用DragonBones开发FLASH骨骼动画入门教程转载自:http://dragonbones.github.io/getting_started_cn.htmlDragonBones快速入门指南DragonBones快速入门指南采用知识共享协议3.0版本。目录DragonBones是什么?DragonBones是一套开源的2D骨骼动画框架和工具,它包含了基于FlashPro的骨骼动画编辑面板DragonBonesDesignPanel及骨骼…

    2022年6月11日
    27
  • excel怎么赋值0和1_excel单元格默认值

    excel怎么赋值0和1_excel单元格默认值getCell 获取列 需要用 createCell获取即可。导出报表时,明明是有数据的可就是报空指针异常。排查后发下报表表格没内容时不能用。

    2022年8月20日
    36
  • mysql tinytext_给学生提供什么类型的输入

    mysql tinytext_给学生提供什么类型的输入除了CHAR和VARCHAR字符类型时,MySQL为我们提供了TEXT具有更多的功能,其类型CHAR和VARCHAR不能覆盖。的TEXT是用于存储可以采取从1个字节到4GB长格式文本字符串是有用的。我们经常会TEXT在新闻站点中找到用于存储文章正文的数据类型,在电子商务站点中会找到产品描述的数据类型。与CHAR和不同VARCHAR,在TEXT为列使用类型时不必指定存储长度。另外,在检索或插入文本数据(如CHAR和)时,MySQL不会删除或填充空格VARCHAR。请注意,TEXT数据未存储在数据库服

    2022年8月13日
    9
  • Junit测试代码怎么写

    Junit测试代码怎么写Junit测试文件的编写先贴个简单的例子大家感受一下packagese.test;importstaticorg.junit.Assert.*;importjava.io.FileNotFoundException;importorg.junit.Test;importse.lab.Graph;importse.lab.Main;publicclassMainTest01{

    2025年6月5日
    3
  • [050] 微信公众平台开发入门视频教程已发布

    [050] 微信公众平台开发入门视频教程已发布2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制、临时有事等原因,未能参加,希望能够提供录制视频的观看地址。视频教程的主要内容包括: 1、移动APP发展趋势(NativeAPP、WebAPP、LightAPP) 2、微信公众平台基础知识(服务号/订阅号、公众账

    2022年6月5日
    38
  • pycharm opencv安装_pycharm自带python

    pycharm opencv安装_pycharm自带python一、介绍下我的环境:1、win102、python3.53、pycharm3.6二、安装要在pycharm中安装cv2模块,但是没安装openCV前安装失败(安装模块方法:pycharm导入模块)1、openCV库下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/Ctrl+F输入opencv,下载对应版本opencv…

    2022年8月27日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号