BumbleStone 2022-05-22 15:30 采纳率: 66.7%
浏览 84
已结题

操作系统 短进程优先SJF算法

(1)对N个进程分别采用四种进程调度算法(轮转调度、静态优先级调度、动态优先级调度、最短进程优先调度)执行调度模拟。
(2)每个用来标识进程的进程表项(进程控制块 PCB)可用结构体来描述,包括以下字段(具体字段及数量可根据需要自行定义,此处仅供参考):
(a) 进程标识数 ID
(b) 进程优先数 PRIORITY,并规定优先数越大的进程,其优先权越高
(c) 进程运行所需CPU总时间片数ALLTIME,已占用 CPU 时间片数 CPUTIME。当进程运行完毕时,ALLTIME 变为 0
(d) 进程的待阻塞时间片数 STARTBLOCK,表示当进程再运行 STARTBLOCK个时间片后,进程将进入阻塞状态
(e) 进程被阻塞的时间片数 BLOCKTIME ,表示已阻塞的进程再等待 BLOCKTIME 个时间片后,将转换成就绪状态
(f) 进程状态 STATE
(g) 队列指针 NEXT,用来将 PCB 排成队列
(3)进程数量要求可以指定任意数量,每个进程运行所需的CPU时间数要求可以指定任意数量或随机生成。
(4)静态优先级调度,每个进程的优先级要求可以任意指定或随机生成。
(5)动态优先级调度原则:进程在就绪队列中呆一个时间片,优先数增加 1;进程每运行一个时间片,优先数减 3(这一规则主要用于动态优先级调度算法)。
(6)最短进程优先中的进程长度根据剩余所需CPU时间片数动态计算。
(7)为了观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。
(8)要求在linux ubuntu环境下使用c/c++编写。*/

最短进程优先中的进程长度根据剩余所需CPU时间片数动态计算是什么意思呢?在实现的时候,短进程不是可以直接确定下来确定的服务队列咩,为什么还要动态计算呢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月30日
    • 创建了问题 5月22日

    悬赏问题

    • ¥15 关于smbclient 库的使用
    • ¥15 微信小程序协议怎么写
    • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
    • ¥20 怎么用dlib库的算法识别小麦病虫害
    • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
    • ¥15 java写代码遇到问题,求帮助
    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画