- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程调度算法实验报告提问与答案
__成绩:________ 武汉科技大学城市学院《操作系统》实验报告 院系_信息工程__学生专业__信科___年级班___大三___课程名称_操作系统_实验题目___处理机调度_学生姓名___宋骋___指导教师__郭冀生__ XX年11月20日 一、实验目的 进程调度是操作系统最重要的概念之一,是操作系统核心内容。调度算法好坏将直接影响操作系统的性能。本实验可以加深对进程调度和各种调度算法的理解。要求到达的进程数、各进程到达的时间可以任意选择。通过实验,求出平均周转时间和加权均周转时间。二、实验内容及要求 三、实验原理及步骤 将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务(驻留时间最长)的方式进行调度处理。 ?对于作业调度:该算法就是从后备作业队列中选择队首一个或几个作业,调入内存,创建进程,放入就绪队列。?对于进程调度:该算法就是从就绪队列中选择一个最先进入队列的进程,将CPU分配于它。 步骤 四、源程序代码: #includestructfcfs{charname[10]; floatarrivetime; floatservicetime;floatstarttime;floatfinishtime;floatzztime;floatdqzztime;floatpzztime;floatpdqzztime;}; fcfsa[100]; voidinput(fcfs*p,intN) {inti;printf(intputtheprocesssnamearrivetimeservicetime:\nforexmple:a0100\n);for(i=0;i%s,p[k].name);}printf(\ntheprocesssinformation:\n);printf(\nname\tarrive\tservice\tstart\tfinish\tzz\tdqzz\tpzztime\tpdqzztime\n); for(k=0;k classPCB//PCB类,包含time、range、state、next指针{ public:voidIn(char*n,intt,intr);PCB(){}PCB(PCB*p)//复制PCB{strcpy(name,p-name);next=p-next;time=p-time;range=p-range;state=p-state;}voidRed()//模拟进程运行状态{ time--;range--;if(!time)state=0;}voidprint()//输出当前PCB内容{cout进程调度算法实验报告提问与答案)名称PCB*next;//用于链表的指针inttime;//用于记录进程运行时间intrange;//用于记录优先值intstate;//用于判断该进程是否运行结束}; voidPCB::In(char*n,intt,intr)//初始化PDB对象{strcpy(name,n);time=t;range=r;next=NULL;if(t0)state=1;elsestate=0;} voidPri_Li(PCB*head)//用于输出每一次运行的结果{if(head){coutnext)coutnamestate)//当该对象为新进程是,插入队列{ if(!num){head=p;(head)-next=NULL;}else{PCB*tp=head;PCB*tp2=head;for(;num0;num--){if(p-rangetp-rangeii==num)//位于头部插入{p-next=head;head=p;break;}elseif(p-rangetp-range)//位于中间插入{p-next=tp;tp2-next=p;break;}else{tp2=tp;tp=tp-next;}}if(!num!tp)//位于尾部插入{tp2-next=p;}}}else//当该对象是已完成进程时,从队列中除去{PCB*tp=head;inttem=num;for(PCB*tp2=tp;num0;num--,tp=tp-next){ 进程调度算法的设计 一、实验题目: 实现先来先服务调度算法 实现时间片轮转调度算法 二、实验目的: 通过对进程调度算法的设计,深入理解进程调度的原理。 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的
您可能关注的文档
最近下载
- 三年级语文上册《习作:我来编童话》教学课件.pptx VIP
- 2023年重庆巴蜀中学中考自主招生物理卷试题真题.pdf VIP
- 相似三角形中常考模型压轴题预测练-2025年中考数学三轮复习备考 (1).docx VIP
- 2025齐齐哈尔辅警考试题库.docx VIP
- 2025至2030全球及中国能源管理系统(EMS)行业产业运行态势及投资规划深度研究报告.docx
- ABB终端配电产品S200系列微型断路器及剩余电流动作保护器.pdf VIP
- 2024年中考数学复习:相似三角形 几何模型压轴题汇编(含答案解析).docx VIP
- 统编版小学语文三年级上册精品教学课件 第三单元 习作:我来编童话(上课课件).ppt VIP
- 敏而好学国学目录1.docx VIP
- 有限空间施工有限空间作业.docx VIP
文档评论(0)