实验一 模拟实现进程调度算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一模拟实现进程调度算法(4学时)
①、实验目的
a、进程调度是处理机管理的核心内容。观察、体会操作系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程控制块、进程队列、进程调度算法,进程切换的理解,并体会和了解各种调度算法的具体实施办法。
b、提高实际动手编程能力,为日后从事软件开发工作打下坚实基础。
②、实验内容
a、设计进程控制块PCB表结构,模拟实现进程调度算法:FIFO,静态优先级调度,时间片轮转调度,短进程优先调度算法,多级反馈队列调度。(实现静态优先级调度算法、短进程优先调度算法)。
b、编写一个进程调度程序模拟程序。模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。
c、由用户输入(可通过文件输入)进程名、进程状态、进程运行时间和进程优先级等数据。
③、实验要求
a、使用模块化设计思想来设计。
b、给出主函数和各个算法函数的流程图。
c、学生可按照自身条件,随意选择采用的算法,(例如:采用冒泡法编写程序,实现短进程优先调度的算法)。
d、进程调度程序模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。
④、运行结果
a、给出进程的调度模拟操作排序结果。
⑤、提示
a、每个进程可有三个状态,并假设初始状态为就绪状态。
b、为了便于处理,程序中的进程运行时间以纳秒为单位计算。
C、各进程的优先级或轮转时间数以及进程需运行的纳秒数的初始值均由用户给定。
d、在优先级算法中,采用静态优先级。在时间片轮转算法中,采用可变时间片,由用户给定。
e、对于遇到优先级一致的情况,采用FIFO策略解决。
f、输入:进程流文件(文本文件),其中存储的是一系列要执行的进程,每个进程包括四个数据项:进程名进程状态(1就绪2等待3运行) 所需时间优先级(0级最高)。
g、输出:进程执行流等待时间平均等待时间。
⑥、分析与讨论
a、各种进程调度算法的异同?
b、如何理解“算法+数据结构=程序设计”?
c、如何理解“数据结构始终是为实现功能服务的”?
⑦、参考代码
参看:附录A1
考核方法:
1、实验报告占50%,程序设计30%,出勤占20%;
3、每次实验100分,2次实验的平均分为最终实验成绩。
注:无出勤只交实验报告者,以实验报告成绩×50%为最后成绩。
打游戏者发现一次本次实验扣10分。
早退者本次实验扣10分。
点名时未到者,后来补签到按照迟到时间长短扣分,点名后即来扣5分,1节课过后才来扣10分。