- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态优先权优先算法的进程调度程序
静态优先权优先算法的进程调度程序 学 院 专 业学 生 姓 名学 号指导教师姓名 目 录 1.系统需求分析 1 1.1问题描述 1 1.2功能要求 1 2.总体设计 1 2.1总体设计图 1 2.2各模块功能 2 2.3相关数据结构设计 3 3.详细设计 3 3.1采用C语言定义的相关数据类型 3 3.2调度算法的主要实现 4 4.运行结果 4 4.1系统调试 4 4.2功能实现界面 5 5.使用说明 7 6.心得体会 8 7.附录 8 7.1 源代码 8 7.2 参考文献 17 1.系统需求分析 1.1问题描述 静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变. 一般地,优先权是利用某一范围内的一个整数来表示的,例如,0~7或0~255中的某一整数, 又把该整数称为优先数.只是具体用法各异:有的系统用0表示最高优先权,当数值愈大时,其优先权愈低;而有的系统恰恰相反. 确定进程优先权的依据有如下三个方面: .进程类型.(系统进程/用户进程) .进程对资源的需求.(需求量的大小) .用户要求.(用户进程紧迫程度) 1.2功能要求2.总体设计 2.1总体设计图 系统总体设计如图21所示。 图21 系统总体设计 2.2各模块功能 1 void buildProcess(): 2) struct PCB * callMemory():将符合条件的进程调入内存。 3) void ListAllPCB(struct PCB *h):打印所有进程到屏幕上。 4) void Menu():菜单以及执行。 5) void newPCB():创建进程。在1)中被调用。 6) void readFromFile():从文件中读取数据。 7) void readyList(struct PCB *pcb):就绪列表。 8) void release(struct PCB *pcb),void releaseR(struct PCB *pcb):释放进程。 9) void run():执行静态优先级进程调度算法。 10)struct PCB * runTheProcess():标识要执行的进程。 11)void setNewPCB(char *name,int pri,int entime,int sertime):创建进程。在6)中被调用。 12) int timeOfData(FILE *f):计算文件中进程数量。在6)中被调用。 2.3相关数据结构设计 3.详细设计 3.1采用C语言定义的相关数据类型 struct PCB { int ArrivalTime; int ServiceTime; char number; }; struct PCB *head,*thisP,*newP; //动态接收进程及详细 struct PCB *readyHead; //动态存储就绪队列 采用结构体数组,创建一个进程,包含进程相关信息:进程名称、进程到达时间、进程服务时间。 3.2调度算法的主要实现 void run()//静态优先权算法。将执行的程序释放。调入新的满足执行条件的进程。就绪列表释放。 4.运行结果 4.1系统调试 在程序设计初期。 4.2功能实现界面 (1主菜单:如图41所示。 图41主菜单 (2) 图42创建进程 2 图43进程运行过程 3进程在调度算法中,计算出的具体的完成时间,周转时间,带权时间。如图44所示。 图44进程运行结果 (3)选择2:。如图45。 //从文件读取数据 /*数据格式如下 进程名 优先级 到达时间服务时间 proc1 2 1 10 proc2 2 1 11 proc3 3 2 2 */ 运行结果。如图4.6 图4 5.使用说明 6.心得体会7.附录 7.1 源代码#includestdio.h #includestdlib.h #includestring.h int SequenceNumber=1; //进程编号 int ProcessAmount; //进程数量 int StartCount=0; //调入内存进程计数 struct PCB{ //进程控制块 int No; //进程号 char name[16]; //进程名 int enterMemoryTime;//进入内存时间 int serviceTime; //服务时间 int priority; //优先级 struct PCB *next; }; struct PCB *head,*thisP,
您可能关注的文档
最近下载
- 如何开好早会..ppt VIP
- 《机械基础》课件 孟莹 单元1--4 静力学--- 螺纹连接与螺旋机构.pptx
- 靶向二代测序在感染性疾病诊疗中的规范化应用专家共识解读PPT课件.pptx VIP
- 可编程控制器应用技术第2版[西门子S7-1200](PLC)高职全套教学课件.pptx
- 国外矿产勘查报告规范要求.pptx VIP
- 国外矿产勘查报告规范要求.pptx VIP
- 自考 新思想学习资料 15040新思想 主观题.pdf VIP
- 郑功成“社会保障学”名词解释.pdf VIP
- 《PLC应用技术(西门子上册)第2版》中职技工全套教学课件.pptx
- 澳大利亚矿产资源和矿石储量报告规范JORC2004(中文版).doc VIP
文档评论(0)