操作系统实验--处理机调度算法实现.doc

操作系统实验--处理机调度算法实现.doc

ID:56777888

大小:90.50 KB

页数:7页

时间:2020-07-09

操作系统实验--处理机调度算法实现.doc_第1页
操作系统实验--处理机调度算法实现.doc_第2页
操作系统实验--处理机调度算法实现.doc_第3页
操作系统实验--处理机调度算法实现.doc_第4页
操作系统实验--处理机调度算法实现.doc_第5页
资源描述:

《操作系统实验--处理机调度算法实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、天津理工大学计算机与通信工程学院实验报告2011至2012学年第二学期课程名称操作系统实验(1)实验名称处理机调度算法的实现实验时间2012年5月5日第1节至第6节学号姓名******专业主讲教师辅导教师软件环境VC++6硬件环境PC机实验目的了解操作系统处理机调度的基本概念,处理机调度程序的功能,常用的处理机调度算法。C或C++编程方法与语句格式,提前初步编好实验程序。实验内容(应包括实验题目、实验要求、实验任务等)实验题目:处理机调度算法的实现实验要求:学生应正确地设计有关的数据结构与各个功能模块,画出程序的流程图,编写程序,程序执行结果应正确。实验任务:1.

2、设定系统中有五个进程,每一个进程用一个进程控制块表示。2.输入每个进程的“优先数”和“要求运行时间”,3.为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队列的连接情况。4.处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减“1”,同时将运行时间减“1”。5.若要求运行时间为零,则将其状态置为“结束”,且退出队列。6.运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)实验步骤:1.根据实验任务,先进行算法

3、构思。因为是采取高优先权调度算法,因此在编写程序之前,先构思算法。具体算法见下面算法描述。2.根据上一步骤写好的算法。3.编写程序。4.采用VC++进行程序的编写,并对编写的程序进行测试(1)初始化进程信息。 (2)将各个进程按优先数从高到低排列成就绪队列。 (3)检查所有队列是否为空,若空则结束,否则将队首进程调入执行。 (4)检查该运行进程是否运行完毕,若运行完毕,将此进程状态改为完成,插入另一个完成进程队列;否则,将该进程的优先数减1,然后重新对它进行排序,插入就绪队列适当位置后等待CPU。 (5)重复步骤(3)、(4),直到就绪队列为空。算法描述:将每个进

4、程抽象成一个控制块PCB,PCB用一个结构体描述。构建一个进程调度类。将进程调度的各种算法分装在一个类中。类中存在三个容器,一个保存正在或未进入就绪队列的进程,一个保存就绪的进程,另一个保存已完成的进程。还有一个PCB实例。主要保存正在运行的进程。类中其他方法都是围绕这三个容器可以这个运行中的PCB展开。主要用到的技术是STL中的vector以维护和保存进程容器、就绪容器、完成容器。当程序启动时,用户可以选择不同的调度算法。然后用户从控制台输入各个进程的信息,这些信息保存到进程容器中。进程信息输入完毕后,就开始了进程调度,每调度一次判断就绪队列是否为空,若为空则系

5、统时间加一个时间片。判断进程容器中是否有新的进程可以加入就绪队列。函数描述:structproc/*定义结构体内部包含进程的信息*/{charname[5];/*定义进程名*/intnum;/*定义运行时间*/intpri;/*定义优先权*/};Voidmain()/*主函数:掌控整个程序的运行过程,是程序的主体部分*/structprocpr[n];/*声明结构体数组*/for(i=0;i

6、运行循环*/附实验代码:#include#include#definen5structproc//定义进程结构体{charname[5];intnum;intpri;};voidmain()//主函数{charch;structprocpr[n];//声明结构体数组inti,k,j;intcount=n;for(i=0;i

7、pr[i].num);printf("优先级:");scanf("%d",&pr[i].pri);}//按进程优先级大小排序for(k=1;k

8、n");p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。