时间片轮转调度算法详解

时间片轮转调度算法详解轮转调度算法 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • filter suction_dispatcher

    filter suction_dispatcherFilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!  StrutsPrepareAndExecuteFilter概要说明        FilterDispatcher是早期struts2的过滤器,后期的都…

    2022年8月16日
    5
  • fiddler和charles哪个好用_charles手机设置代理后上不了网

    fiddler和charles哪个好用_charles手机设置代理后上不了网前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年7月28日
    11
  • 分类分类分类_常见名词有哪些

    分类分类分类_常见名词有哪些[{“Name”:”北京房产”,”SubMenu”:[{“Name”:”北京房产”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”租房”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”整租”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”合租”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”民宿短租”,”SubMenu

    2022年10月4日
    3
  • 如何让pycharm运行Java代码[通俗易懂]

    如何让pycharm运行Java代码[通俗易懂]第一步,jpype库的下载我使用的编辑器是pycharm,所以,直接importjpype即可,但是他会报错,说没有这个库,这个时候,你把名字改成importjpype1,然后下载,pycharm会给你自动下载的。注意,下载完之后,你使用的还是importjpype我是这样的第二步,将你要用的java类打包成一个jar文件第三步,如下代码调用importjpypejvmPath=r”D:\jdk-15.0.2\bin\server\jvm.dll”#java虚拟机的路径

    2022年8月26日
    9
  • php addslashes函数已经没用了_JAVA substring

    php addslashes函数已经没用了_JAVA substringPHP为了安全性,所以引入了个magic_quotes_gpc=On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。当magic_quotes_gpc=On时,使用了addslashes()处理后的数据在数据库中将以\’形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个\,因此stripslashe…

    2022年9月25日
    4
  • Shenzhen Catic Real Estate to raise RMB 2.2 bln

    Shenzhen Catic Real Estate to raise RMB 2.2 blnJun.5,2009ShenzhenChina-ShenzhenCaticRealEstateCoLtd<000043>announcedtodaythatitplanstoissueupto260millionsharestotwofirmsforatotalofRMB2.2billionorRMB8.94pe…

    2025年6月30日
    5

发表回复

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

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