时间片轮调转算法

这篇具有很好参考价值的文章主要介绍了时间片轮调转算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们先说定义

时间片轮调转算法是一种进程调度算法,它是操作系统用来决定在多个进程之间分配 CPU 时间的方法。

这种算法通过将 CPU 时间分割成较小的时间段,称为 "时间片",并将这些时间片分配给不同的进程来工作。每个进程在完成一个时间片后,就会被暂停,让其他进程有机会使用 CPU。当一个进程的时间片用完后,它会排队等候下一个时间片。

这种算法的优点在于,它能够公平地分配 CPU 时间,让所有进程都有机会得到执行。同时,它也能有效地防止一个进程占用太多的 CPU 时间,导致其他进程得不到足够的执行时间。

我们直接通过例题讲解

例题:

在计算机系统的就绪队列中,依次排列4个数值计算进程P1、P2、P3、P4,运行时间分别为23ms、17/ms、 46ms、 24ms。假定按照时间片轮转法进行处理机调度,时间片为20ms,各进程运行期间不会进入等待状态,进程切换开销忽略不计,每个进程的响应时间为首次等待时间。
(1)画出进程的执行次序图;(2)计算平均等待时间;(3)计算平均响应时间。

答案:

时间片轮调转算法

对于这个时间片为30我们画一个坐标轴(其他的也可以)来计算他的完成时间,那我们知道这四个进程的坐标大小为(23+17+46+24)=110。

甘特图解析

本题的时间片是以20ms为单位,所以我们就以20为单位划第一轮,p1运行只能运行20ms,到p2运行,p2比较特殊,在一个时间片内就可以解决。所以就是在那加上运行时间就加上17ms,p3运行时运行20ms,p4同理(时间先加20ms)。一轮结束后,p1第一轮还欠了3ms(不知道这种说法对不对)就加上3ms,变成80ms。p2完成后就不管,p3加上20还不够,继续p4,p4那只需要4ms。加上后将之前p3的未完成的继续加上。

平均等待时间

首先计算P1的等待时间:可以由次序图看出,P1是第一个执行的进程,所以最开始等待为0。但是我们可以看到P1的运行时间为23ms这里只有20ms就切换到了P2了,直到第77ms才切换为P1。然后这里执行了3ms就结束了。所以P1的等待时间为77-20=57ms然后计算P2的等待时间:P2的运行时间只有17ms小于20ms在一个时间片中是可以运行完的。所以我们看到在第20ms的时候执行p2在第37ms的时候执行p3同时结束了p2。所以p2的等待时间为20ms

p3最开始的等待时间37,第二段等待时间80-57=23,加上最后一段等待的4等于64,p4类似。文章来源地址https://www.toymoban.com/news/detail-416697.html

平均响应
平均响应时间=第一次响应的时间点/进程数

到了这里,关于时间片轮调转算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HAL STM32基于系统滴答定时器(SysTick)实现多任务时间片轮询

    📑RTOS(实时操作系统)和定时器时间片轮询是两种不同的任务调度和执行方式的差异简介 🔖 以下部分内容,由AI给出的解答: 🔖RTOS(实时操作系统): 🌿RTOS是一种专门设计用于实时系统的操作系统,它可以有效地管理多个任务,提供任务调度、同步和通信等功能。 🌿

    2024年02月21日
    浏览(44)
  • 数据结构期末复习(1)学科定义、组成、算法的定义、时间复杂度比较

    目录 数据结构的几个方面 逻辑结构的描述 逻辑结构 存储结构 数据运算 数据结构和数据类型 数据类型 抽象数据类型(ADT) 算法及其描述 什么是算法 算法分析 算法的设计目标 算法时间性能分析 计算算法频度 算法时间复杂度 简化的算法时间复杂度分析 数据结构学科定义:

    2024年02月03日
    浏览(44)
  • 我们应该怎样定义 BTC Layer2?

    撰文:Jademont,水滴资本创始人 原文来自Techub News:我们应该怎样定义 BTC Layer2? 只要消耗 BTC 作为 gas,以 BTC 为底层资产,可以做为 dapp 平台,性能又远优于 BTC 一层,都算。包括但不限于,基于 Indexer 的应用平台,EVM rollup, EVM crosschain, 侧链,闪电网络,RGB 等等。这些最终

    2024年01月25日
    浏览(42)
  • SpringSecurity登录时在哪里调用我们自定义的UserDetailsServiceImpl

    SpringSecurity登录时在哪里调用我们自定义的UserDetailsServiceImpl 1、请求login方法 2、将用户的用户名和密码封装成一个对象,以便进行后续的认证操作 3、执行认证操作 4、调用providermanager类的authenticate 5.进入这一步就开始跟我们自定义实现的UserDetailsServiceImpl有联系 6、这个类的实

    2024年04月16日
    浏览(30)
  • 为何我们都应关心算法备案?

    随着技术的日新月异,算法成为现代生活的核心组成部分,从社交媒体推荐、在线广告到智能交通管理,几乎无处不在。然而,如此普及的技术给我们带来了一个新的挑战:如何确保算法的透明度、公正性和道德性?答案可能就在算法备案制度中。这正是为什么我们每个人都

    2024年02月13日
    浏览(30)
  • 17、YML配置文件及让springboot启动时加载我们自定义的yml配置文件的几种方式

    其实本质和.properties文件的是一样的。 Spring Boot默认使用SnakeYml工具来处理YAML配置文件,SnakeYml工具默认就会被spring-boot-starter导入,因此无需开发者做任何额外配置。 YAML本质是JSON的超级,它在表示结构化文档时更有表现力。 ▲ properties文件使用 .分隔符 作为结构化的表现:

    2024年02月14日
    浏览(47)
  • 数据结构与算法这么难,为什么我们还要学习?

    提到数据结构与算法,就一定会伴随着诸多所谓的坚持和抱怨。同时,还有两个词总是出现,一个是内功,是对知识的定位,一个是吃透,是对自己

    2024年01月19日
    浏览(55)
  • 2023面试到底有多难?大厂为何都注重算法?我们该如何应对?

    文章的开头大家先来看一看一道字节的算法题,看是否能做出来: 给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序。(不能使用队列或者栈作为辅助) 大家

    2023年04月14日
    浏览(87)
  • el-date-picker自定义选择时间&&el-time-select自定义选择时间实现避免时间冲突

    固定十二个月,当月开始时间默认选择月第一天,结束时间默认选择月最后一天; 月份选择只允许选择当前月份 将当月对应的每天按照时间段划分,段数不做限制。 时间段支持任意位置插入(新增)、删除。 每个时间段具有包含属性,同一时刻不允许在两个时间段中出现包

    2024年02月05日
    浏览(44)
  • 今天我们来说说常用的三种排序算法:选择排序、插入排序、快速排序

    原文链接:http://www.ibearzmblog.com/#/technology/info?id=8ac4902f82f525e1456624d5d7a545dc 选择排序、插入排序、快速排序这三种算法算是比较初级的排序算法,对它们的原理和技巧,可以方便我们对后面的算法理解。 温馨提示,因为动图不好弄,所以我在网上下载了AlgorithmMan来进行动图演示

    2024年02月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包