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

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

基本概念

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

例题

  1. 完成表格
进程 到达时间 服务时间 完成时间 周转时间 带权周转时间
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2
 0.A CPU服务A 1.A CPU服务A 2.BA 当A执行完毕后被被放入队列的末尾,队列变成BA,CPU服务B 3.AB B执行完毕被放入末尾,队列变成AB,CPU服务A 4.BC A经过三次服务,处理完成。进程C进入队列并放在队尾,CPU服务B 5.CB B执行完毕被放入末尾,队列变成CB,CPU服务C 6.BDC D进入队列放入队尾即B的后面,当C执行完毕后被放入末尾,队列变成BDC,CPU服务B 7.DCB 接下来的服务以此类推 8.CBED 9.BEDC 10.EDCB 11.DCBE 12.CBED 13.BEDC 14.EDCB 15.DCB 16.CBD 17.BD 18.D 19.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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月18日 下午3:23
下一篇 2026年3月18日 下午3:24


相关推荐

  • 零基础学Java(3)运算符[通俗易懂]

    零基础学Java(3)运算符[通俗易懂]运算符运算符用于连接值。Java提供了一组丰富的算术和逻辑运算符以及数学函数。算术运算符在Java中,使用算术运算符+、-、*、/表示加、减、乘、除运算。当参与/运算的两个操作数都是整数时,表示

    2022年8月7日
    8
  • GDB调试操作

    GDB调试操作GDB 是一个由 GNU 开源组织发布的 UNIX LINUX 操作系统下的 基于命令行的 功能强大的程序调试工具 对于一名 Linux 下工作的 c c 程序员 gdb 是必不可少的工具 1 启动 gdb 使用 vim 编辑器编写一个简单的测试程序并保存 vimhello c 然后使用 gcc 将其编译为可执行文件 同时使用 g 表示该程序可调试 gcc ghello c ohello 接下来启动 gdb 进行调试 gdbhello 或 gdb qhello q 参数可以屏

    2026年3月17日
    1
  • 从0开始<十四>:模仿malloc和 free函数、strlen函数[通俗易懂]

    程序一:编写函数char*alloc(n)和voidafree(char*p)函数,这两个函数类似于malloc和free函数,其中第一个函数返回一个指向n个连续存储单元的指针,第二个函数释放已经分配单元的指针。思路:最容易实现方法是让一个大字符数组allocbuf中的空间进行分配。该数组是alloc和afree两个函数的私有数组。由于函数alloc和afree处理的对象时指针而不是

    2022年4月9日
    40
  • Git指令大全[通俗易懂]

    Git指令大全[通俗易懂]转自:https://mp.weixin.qq.com/s/sF-cx2ss4haO74K55Sjf9g配置首先是配置帐号信息ssh-Tgit@github.com#登陆github修改项目中的个人信息gitconfig–globaluser.name“githelper”gitconfig–globaluser.emailgithelper@gmail.c

    2022年5月7日
    44
  • route命令的使用详解[通俗易懂]

    route命令的使用详解[通俗易懂]Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设…

    2022年7月18日
    17
  • linux+shell脚本100,shell脚本(shell编程100例)

    linux+shell脚本100,shell脚本(shell编程100例)ShellScript,Shell脚本与Windows/Dos下的批处理类似,也便是用各类指令预先放入到一个文件中,便利一次性执行的一个程序文件,主要是便利办理员进行设置或许办理用的。可是它比Windows下的批处理更强大,比用其他编程程序修改的程序功率更高,它使用了Linux/Unix下的指令。shell编程100例1、编写helloworld脚本#!/bin/bash#编写helloworld…

    2022年10月3日
    4

发表回复

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

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