




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
进程调度一、实验目的 通过优先权法与轮转调度算法的模拟加深对进程概念和进程调度过程的理解,掌握进程状态之间的切换,同时掌握进程调度算法的实现方法和技巧。二、实验内容 1、用C语言或C+语言来实现对N个进程采用优先算法以及轮转算法的进程调度。 2、每个用来标示进程的进程控制块PCB用结果来描述,包括以下字段 (1)进程标识ID,其中0为闲逛进程,用户进程的标识数为1、2、3、。 (2)进程优先级Priority,闲逛进程(idle)的优先级为0,用户有进程的优先级大于0,且随机产生,标识数越大,优先级越高。 (3)进程占用的CPU时间CPUtime,进程每运一次,累积等于4. (4)进程总共需要运行时间Alltime,利用随机函数产生。 (5)进程状态,0就绪态,1运行态,2阻塞态。 (6)队列指针next,用来将多个进程控制块PCB链接为队列。 3、优先数改变的原则 (1)进程在就绪队列中每呆一个时间片,优先数增加1. (2)进程每运行一个时间片,优先数增加1.4、在调度前,系统中拥有的进程数PCB_number有键盘输入,进初始化后,所有的进程控制块PCB连接成就绪队列。5、为了清楚的观察诸进程的调度过程,程序应将每个时间片内的进程的情况显示出来。三、实验步骤1、进程管理程序调式好后,运行进程管理程序输入开始进程数n创建n个PCB并加入readyqueue中ready-queue是否为空Y NRunning=idRunning逐个将redy_pc中的PCB阻塞RunningN YRunning=idleYN将Running从ready_queue中删除,再将running加入block_queueb 更新新进程就绪队列进程优先数,优先数加1是否创建新PCB N Y创建新进程并加入到ready_queue中随机 对block_queue中的进程PCB询问是否要唤醒?处理完了吗 Y N是否要唤醒 N Y将其从blick_queuek队列是中删除,再将其加入ready_queuek 2、优先权调度(1)输入1选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_queue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。(4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列block_queue中,且将该进程从ready_queue中删除。(5)如果运行时间CPUtime大于等于Alltime,该进程运行完毕,释放该进程;否则插入到就绪队列中。(6)更新就绪队列中的优先级数。(7)随机对阻塞队列block_queue中的进程PCB询问是否要唤醒,唤醒,即从唤醒队列中选择第一个进程,且插入就绪队列中;阻塞队列中没有阻塞进程返回。(8)重复上述步骤,直到本次调度结束。3、轮转调度(1)输入2选择优先权调度算法模拟。(2)输入开始进程个数n,创建n个PCB并加入就绪队列ready_queue中。(3)就绪队列ready_queue不为空,调度就绪队列中第一个进程运行,否则,从闲逛队列idleprocess中调度闲逛进程运行。(4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列block_queue中,且将该进程从ready_queue中删除。(5)如果运行时间CPUtime大于等于Alltime,该进程运行完毕,释放该进程;否则插入到就绪队列中。(6)随机对阻塞队列block_queue中的进程PCB询问是否要唤醒,唤醒,即从唤醒队列中选择第一个进程,且插入就绪队列中;阻塞队列中没有阻塞进程返回。(7)如果时间到,本次调度结束,否则重复上述步骤,直到本次调度结束。输入开始进程数n创建n个PCB并加入readyqueue中ready-queue是否为空Y NRunning=idRunning逐个将redy_pc中的PCB阻塞RunningN YRunning=idleYN将Running从ready_queue中删除,再将running加入block_queueb 是否创建新PCB N Y创建新进程并加入到ready_queue中随机 对block_queue中的进程PCB询问是否要唤醒 ?处理完了吗 Y N是否要唤醒 N Y将其从blick_queuek队列是中删除,再将其加入ready_queuek Y四、实验过程中遇到的问题及解决方案1、请仔细阅读动态优先权的进程调度算法的模拟实现代码,说明该算法与教材中介绍的算法做了哪些简单化处理.优先权模拟时优先权是随机产生,在实际的系统中,系统进程的优先权高于一般用户进程的优先权。2、为什么对进程的优先数可按上述原则进行修改?最高优先权调度算法仅照顾了优先权高的进程,当不断有优先权高的进程需调度时,而优先权低的进程将很难得到处理机的调度,所以进程在就绪队列中每呆一个时间片,优先数增加1,使优先权低的进程不总是忙等。3、请给出设计实现的轮转发进程调度算法的设计思想.时间轮转调度算法:系统将所有的就像进程按先来先服务的原则,排成一个队列,每次调度时,把CPU分配给首进程,并令其执行一个时间片。当执行的时间片用完时,发出中断请求,调度程序便据此信号来停止该进程的执行,并将其送到就绪队列的末尾,如此反复,就可以保证就绪队列中的所有进程在一个给定的时间内,均能获得一时间片处理机执行时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都大学《国际货运代理(B)》2024-2025学年第一学期期末试卷
- 商业保密协议范本及解读
- 抚州幼儿师范高等专科学校《建筑环境与能源应用工程概论》2024-2025学年第一学期期末试卷
- 江西应用技术职业学院《网球主项》2024-2025学年第一学期期末试卷
- 生命只有一次讲解课件
- (2025年标准)产品定做加工协议书
- 广西职业技术学院《技术软件应用》2024-2025学年第一学期期末试卷
- 武汉轻工大学《数据分析与可视化》2024-2025学年第一学期期末试卷
- 途中跑动作技术精要
- 昆山杜克大学《实变函数论基础》2024-2025学年第一学期期末试卷
- 山东玲珑轮胎股份有限公司境外(巴西)投资建设项目可行性研究报告
- 安全事故大反思大讨论心得体会
- 中长导管在神经外科临床应用
- 中文版儿童睡眠习惯问卷CSHQ 含评分维度
- 防暴技能培训课件
- 药品采购付款管理制度
- 《电子工业全光网络工程技术规范》
- 2025至2030年中国牛肉丸行业市场现状分析及投资潜力研判报告
- 保利舆情管理制度
- 冷库员工安全培训课件
- 2025年内蒙古煤炭建设工程(集团)总公司招聘笔试参考题库含答案解析
评论
0/150
提交评论