模拟进程调度程序.doc_第1页
模拟进程调度程序.doc_第2页
模拟进程调度程序.doc_第3页
模拟进程调度程序.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模拟进程调度程序 一 实 验 目 的进程及进程管理是操作系统最重要的内容之一。本实验要求学生选用某种进程调度算法用“C”语言编制模拟进程调度的程序,并在机器上运行通过。通过本实验,使学生对进程调度的算法、数据结构及其实现程序有一个较为深入具体的了解。二 实 验 题 第一题 设计一个按时间片轮转算法调度的模拟程序。 1,设系统中有若干个(35)进程,每个进程由进程控制块(PCB)来标识。进程控制块的内容有:进程名、链接指针、到达时间、运行时间、完成时间和进程状态等。 2,进程个数,每个进程的进程名、到达时间、运行时间由设计者确定,并从键盘输入:进程名为字符或字符串,到达时间和运行时间均为整数型;进程状态:为简单起见,假定只有2种状态,即“就绪”和“完成”。“就绪”用R表示,“完成”用C表示。进程的初始状态为“R”,运行完成后为“C”;完成时间:根据进程的实际完成时间进行登记;链接指针:用于将各个进程按到达时间的先后次序排序,到达时间相同的次序可随意。 3,调度是在每个进程都到达后的下一时刻开始。调度时,总是选择当前排在队列最前面且“运行时间”不为0的进程运行。 4,一个进程被调度运行一次,只需且必须打印一行字符,例如:“第*个进程运行一次”。进程运行一次后,其运行时间减1,并将其PCB插入PCB队列的末尾;当其运行时间等于0时,将其状态置为“C”;并登记其完成时间。一个状态为“C”的进程,此后不再被调度到运行。5,运行结果:根据每个进程的到达时间和完成时间算出并输出其周转时间和带权周转时间,算出并输出所有进程的平均周转时间和平均带权周转时间。输入进程数输入每个进程的数据按到达时间的先后排序并打印排序结果记下开始调度时刻调度最前面第一个“运行时间”不为0的进程运行打印“第*个进程运行一次”,其运行时间减1该进程运行时间为0?算出其“周转时间”和“带权周转时间”找到了这样的进程吗?YY该进程插入调度队列尾N运行结束,算出并打印“平均周转和带权周转时间”N进程0进程2进程4进程1进程3Head进程2进程0进程4进程1进程3按时间片轮转调度的流程 第二题 设计一个按优先级算法调度的模拟程序。1, 设系统中有若干个(35)进程,每个进程由进程控制块(PCB)来标识。进程控制块的内容有:进程名、链接指针、到达时间、运行时间、完成时间、进程优先数和进程状态等。进程优先数为整数型,优先数小优先级高。2, 进程个数,每个进程的进程名、到达时间、运行时间和优先数由设计者确定,并从键盘输入:进程名为字符或字符串,到达时间、运行时间和优先数均为整数型;进程状态:为简单起见,假定只有2种状态,即“就绪”和“完成”。“就绪”用R表示,“完成”用C表示。进程的初始状态为“R”,运行完成后为“C”;完成时间:根据进程的实际完成时间进行登记;链接指针:用于将各个进程按优先数从小到大的顺序排序,优先数相同的按到达时间先后排序,两者都相同的次序可随意。3, 调度是在每个进程都到达后的下一时刻开始。调度时,总是选择当前排在队列最前面且“运行时间”不为0的进程运行。4, 进程每运行一次,其优先数加1,运行时间减1;当其运行时间等于0时,将其状态置为“C”;一个状态为“C”的进程,此后不再被调度到运行。和上一题一样,一个进程被调度到运行一次,只需且必须打印一行字符串,例如:“第*个进程运行一次”。一次调度后,要将所有进程按上述方法重新排序。4,运行结果:根据每个进程的到达时间和完成时间算出并输出其周转时间和带权周转时间,算出并输出所有进程的平均周转时间和平均带权周转时间。第三题 设计一个按最长剩余时间优先算法调度的模拟程序。1,设系统中有若干个(35)进程,每个进程由进程控制块(PCB)来标识。进程控制块的内容有:进程名、链接指针、到达时间、运行时间、完成时间和进程状态等。2, 进程个数,每个进程的进程名、到达时间、运行时间由设计者确定,并从键盘输入:进程名为字符或字符串,到达时间和运行时间均为整数型;进程状态:为简单起见,假定只有2种状态,即“就绪”和“完成”。“就绪”用R表示,“完成”用C表示。进程的初始状态为“R”,运行完成后为“C”状态;完成时间:根据进程的实际完成时间进行登记;链接指针:用于将各个进程按剩余运行时间从大到小排序,剩余时间相同的,按到达时间先后排序,两者都相同的次序可随意。3, 调度是在每个进程都到达后的下一时刻开始。调度时,总是选择当前排在队列最前面且“运行时间”不为0的进程运行。4, 进程每运行一次,运行时间减1,当其“运行时间”等于0时,将其“状态”置为“C”;一个状态为“C”的进程,此后不再被调度到运行。和上两题一样,进程被调度到运行一次,只需且必须打印一行字符串,例如:“第*个进程运行一次”。 一次调度后,要将所有进程按上述方法重新排序。5, 运行结果:根据每个进程的到达时间和完成时间算出并输出其周转时间和带权周转时间,算出并输出所有进程的平均周转时间和平均带权周转时间。 输入进程数输入每个进程的数据按“优先数”大小和“到达时间”的先后排序并打印排序结果记下开始调度时刻调度最前面第一个“运行时间”不为0的进程运行打印“第*个进程运行一次”,其运行时间减1优先数加1该进程运行时间为0?算出其“周转时间”和“带权周转时间”找到了这样的进程吗?YY按“优先数”大小和“到达时间”的先后重新排序N运行结束,算出并打印“平均周转和带权周转时间”N进程0进程2进程4进程1进程3Head进程0进程1进程2进程3进程4假设进程号就是它的优先数按优先数调度的流程 三 实 验 报 告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论