一、实验目的
(1)加深对处理机调度的作用和工作原理的理解。
(2)进一步认识并发执行的实质。
二、实验要求:
本实验要求用高级语言,模拟在单处理器情况下,采用多个调度算法,对N个进程进行进程调度。语言自选。
并完成实验报告。
三、实验内容:
在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。
当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。
- 进程及进程队列的表示。
- 处理器调度算法:FCFS,SJF,RR,HRRN,MLFQ等
- 跟踪进程状态的转化
- 输出:系统中进程的调度次序,计算CPU利用率,平均周转时间和平均带权周转时间
四、实验过程与结果
1.FCFS:
1.1算法思想:按照作业进入系统后备作业队列的先后次序来挑选作业,先进入系统的作业将优先被挑选进入内存,创建用户进程,分配所需资源,然后移入就绪队列。
1.2算法设计:
2.SJF:
2.1算法思想:以进入系统作业所需要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运行。
2.2算法设计:
3.RR:
3.1算法思想:调度程序每次把CPU分配给就绪队列首进程/线程使用规定的时间间隔,称为时间片,通常为10ms~200ms,就绪队列中的每个进程/线程轮流的运行一个时间片,当时间片消耗尽时就强迫当前运行进程/线程让出处理器,转而排列到就绪队列尾部,等候下一轮调度。
3.2算法设计: