广工操作系统课设17

广工操作系统课设17

ID:32765315

大小:200.87 KB

页数:14页

时间:2019-02-15

广工操作系统课设17_第1页
广工操作系统课设17_第2页
广工操作系统课设17_第3页
广工操作系统课设17_第4页
广工操作系统课设17_第5页
资源描述:

《广工操作系统课设17》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统课程设计学院计算机学院题目两级调度专业班级学号姓名指导教师(2016年1月)目录1设计思想说明1.1设计环境VC6.01.2设计思想实现作业与进程的两级调度,其屮作业调度是高级调度。使用读取文件的input函数模拟输入井,在制定位置放置一个写有作业信息的txt文件,因为是作业调度是高级调度,所以首先对输入井的内容进行作业调度,作业调度模块使用结构体数组WORKmodel实现,对其该结构体数组进行FCFS或短作业优先的算法排序(根据结构体数组内的成员信息进行数组的排序),就绪队列由双向链表实现,满足要求的作业能进入到该队列,即在链表中占有一节点,同时,该链表也实现进

2、程调度的功能,使用FCFS或短进程优先算法,即对队列中的节点按照耍求排序,最后计算平均周转时间、执行的队列以及打卬有关信息2系统结构内存空间磁盘机数目就绪队列占用cpu的进程3数据结构的说明typedefstructWORKmodel//结构体数组,模拟各个作业的信息{intname;//作业名字intarrivetime;//到达时间intserve!ime;//服务吋间charstate;//状态intsize;//需要占用的内存intneedmachine;//需要的磁带机数目intstarttime;//开始执行时间}WORK;typedefstructAI.RE

3、ADY//链表,实现就绪队列以及进程排序功能{intname;/作业名字intarrivetime;//到达时间intservetime;//服务时间structALREADY*front;structALREADY*ncxt;}READY;4算法流程图读入函数结构体数组5主耍函数列表函数原型功能入口、出口参数说明intinput(void)读取数据voidsetstate()设置作业的初始状态voidFCFSzuoye()作业的FCFS调度voidDJCzuoyc()作业的短作业优先调度intcreat(inti)创建链表函数,增加节点队列中第i个作业voidrange

4、(intn)将作业插入就绪队列,更改内存等资源信息voidFCFSJinchengO/进程的FCFS算法intDJCJinchengO短进程优先调度voidrunning(intn)运行函数,当前占用CPUC的进程信息第n个作业正在运行voiddisplay(intn)打卬函数释放第n个作业voidfreelist()释放函数,进程完成后从链农屮释放以及状态更改为'F4测试与分析.exe—・"D:MicrosoftVisualStudio'os•果设Debug两级凋度隅趣已完成'嬲懿时Er,"D:MicrosoftVisualStudioos课设Debug两

5、级凋度欢迎使用,预输入已完成,请冋使用以下哪种作业调度算法:乳先来先服务算法b.短作业优先算法备间使用以下哪种进程调度算法:乳先来先服务算法b.短进程优先算法孑wD:MicrosoftVisualStudioos课设Debug两级凋度】0prrnr^q^.flWArninn<<;^7用户使用说明把测试文档(txt)放到指定路径中,宜接运行程序即可。8附录带注释的源程序。如果提交源程序软盘,可以只列出程序文件名清单。#include#include#include#include#defin

6、eSIZE5typedefstructWORKmodel//结构体数组,模拟各个作业的信息intname;intarrivetime;intscrvctimc;charstate;intsize;intneedmachine;intstarttime;}WORK;WORKviews[SIZE];FILE*f;charbuf[256];char*p;typedefstmctALREADY//链表,实现就绪队列以及进程排序功能{intname;intarrivetime;intscrvctimc;structALREADY*front;stmctALREADY*next;{R

7、EADY;READY名head二NULL;intWORKSIZE=100;intMachineNumber=4;intnowtime;intrunrange⑸;intinput(void)//录入数据函数,模拟输入井功能{if(NULL==(f=fopen(HE:\ljn\test2.txt,',T'))){fprintf(stdcrr,"Cannotopenfile:tcst2.txt");return1;Iintn=0;while(1){讦(n==SIZE)break;if(NULL==fgets(buf,256,f)

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

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

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