电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统-进程调度算法设计与实现实验报告

操作系统-进程调度算法设计与实现实验报告_第1页
1/5
操作系统-进程调度算法设计与实现实验报告_第2页
2/5
操作系统-进程调度算法设计与实现实验报告_第3页
3/5
实验报告课程名称 操作系统 实验名称 进程调度算法设计与实现 姓 名 学 号 专业班级 实验日期 成 绩 指导老师 (①实验目的 ②实验设备和环境③实验内容与步骤 ④实验结果与分析⑤总结,问题及建议)一、内容:设计一个简单的进程调度算法,模拟 OS 中的进程调度过程二、要求: ① 进程数不少于 5 个;② 进程调度算法任选; 最好选用动态优先数法,每运行一个时间片优先数减 3③ 用 C++(或 C)语言编程;④ 程序运行时显示进程调度过程。三、步骤:① 设计 PCB 及其数据结构: 进程标识数:ID 进程优先数:PRIORITY(优先数越大,优先级越高) 进程已占用时间片:CPUTIME 进程尚需时间片:ALLTIME(一旦运行完毕,ALLTIME 为 0) 进程队列指针:NEXT,用来将 PCB 排成队列 进程状态:STATE(一般为就绪,不用)② 设计进程就绪队列及数据结构;③ 设计进程调度算法,并画出程序流程图;④ 设计输入数据和输出格式; 结构格式:当前正运行的进程:0 当前就绪队列:2,1,3,4⑤ 编程上机,验证结果。四、分析假设调度前,系统中有 5 个进程,其初始状态如下:ID01234可否考虑用二维数组去实现PRIORITY93830290CPUTIME00000ALLTIME33634STATEreadyreadyreadyreadyready① 以时间片为单位调度运行;② 每次总是从 ALLTIME 中不为 0,且 PRIORITY 最大的进程调度运行一个时间片;③ 上述进程运行后其优先数减 3,再修改其 CPUTIME 和 ALLTIME,重复②,③④ 直到所有进程的 ALLTIME 均变为 0。五、代码#include〈iostream〉#include〈string〉#include a。priorityNumber || priorityNumber == a。priorityNumber&&estimatedRunningtime > a.estimatedRunningtime;}}PCB;void createProcess(priority_queue〈PCB〉 &p, int n) {//创建 n 个进程,带头结点cout 〈< endl << endl 〈< ”创建进程” 〈〈 endl;PCB r;//工作结点for (int i = 0; i...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统-进程调度算法设计与实现实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部