实验一二三四五六七八九十总评成绩武汉大学计算机学院课程实验(设计)报告专业(班):计算机学院信息安全 X 班 学号:姓名:XX课程名称:操作系统实验2024 年 5 月 30 日实习一 处理器调度一、实习内容选择一个调度算法,实现处理器调度
二、实习目的本实习模拟在单处理器环境下的处理器调度,加深了解处理器调度的工作
三、实习题目设计一个按优先数调度算法实现处理器调度的程序
四、实习内容1.设计思想(1)假定系统有 5 个进程,每个进程用一个 PCB 来代表
PCB 的结构为: ·进程名——如 P1~P5
·指针——按优先数的大小把 5 个进程连成队列,用指针指出下一个进程 PCB 的首地址
·要求运行时间--假设进程需要运行的单位时间数
·优先数-—给予进程的优先数,调度时总是选取优先数大的进程先执行
·状态—-假设两种状态:就绪和结束,用 R 表示就绪,用 E 表示结束
初始状态都为就绪状态
(2) 开始运行之前,为每个进程确定它的“优先数”和“要求运行时间”
通过键盘输入这些参数
(3) 处理器总是选择队首进程运行
采纳动态改变优先数的办法,进程每运行 1 次,优先数减 1,要求运行时间减 1
(4) 进程运行一次后,若要求运行时间不等于 0,则将它加入就绪队列,否则,将状态改为“结束",退出就绪队列
(5) 若就绪队列为空,结束,否则转到(3)重复
要求能接受键盘输入的进程优先数及要求运行时间,能显示每次进程调度的情况,如哪个进程在运行,哪些进程就绪,就绪进程的排列情况
2.上机代码#include #include 〈string
h〉#define num 5//5 个进程struct PCB//进程控制块{ char ID;//进程名 int runtime;//进程运行时间 int pri;//进程优先级 char state; //进程状态};struc