模拟进程调度算法四种(Java)

2022-06-07 00:00:00 算法 调度 四种

在这里插入代码片@TOC

模拟进程调度算法四种(Java)

这是大三上学期操作系统的模拟进程调度的实验,一开始其实都不知道该怎么写去表示进程调度的过程,后来翻阅了许多博客并加以总结才知道,可能有错误之处,希望大家能多多指出错误,一起进步一起学习。

算法一:先来先服务(FCFS)

按照进程进入就绪队列的先后顺序调度并分配处理机执行。先来先服务调度算法是一种非抢占式的算法,先进入就绪队列的进程,先分配处理机运行。一旦一个进程占有了处理机,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放处理机:

  1. 系统只要有按FIFO规则建立的后备作业队列或就绪进程队列即可,就是一个作业控制块JCB或进程控制块PCB加入队列时加在相应队列末尾。
  2. 调度退出队列时从相应队列首开始顺序扫描,将相关的JCB或PCB调度移出相应队列。

算法二:时间片轮转(RR)

时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一时间段,称作它的时间片,即该进程允许运行的时间。

  1. 在早期的时间片轮转法中,系统将所有的就绪进程按先来先服务的原则,排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片.时间片的大小从几ms到几百ms。
  2. 当执行的时间片用完时,由一个计
    原文作者:泽僮
    原文地址: https://blog.csdn.net/weixin_47162521/article/details/111087863
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章