一、实验目的

1)加深对处理机调度的作用和工作原理的理解。

2)进一步认识并发执行的实质。

二、实验要求:

本实验要求用高级语言,模拟在单处理器情况下,采用多个调度算法,对N个进程进行进程调度。语言自选。

并完成实验报告。

三、实验内容:

在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。

当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。

  1. 进程及进程队列的表示。
  2. 处理器调度算法:FCFS,SJF,RR,HRRN,MLFQ等
  3. 跟踪进程状态的转化
  4. 输出:系统中进程的调度次序,计算CPU利用率,平均周转时间和平均带权周转时间

四、实验过程与结果

1.FCFS:

1.1算法思想:按照作业进入系统后备作业队列的先后次序来挑选作业,先进入系统的作业将优先被挑选进入内存,创建用户进程,分配所需资源,然后移入就绪队列。

1.2算法设计:

2.SJF:

2.1算法思想:以进入系统作业所需要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运行。

2.2算法设计:

 

 

3.RR:

3.1算法思想:调度程序每次把CPU分配给就绪队列首进程/线程使用规定的时间间隔,称为时间片,通常为10ms~200ms,就绪队列中的每个进程/线程轮流的运行一个时间片,当时间片消耗尽时就强迫当前运行进程/线程让出处理器,转而排列到就绪队列尾部,等候下一轮调度。

3.2算法设计:

 

posted on 2019-04-15 15:34  温胜超  阅读(216)  评论(0编辑  收藏  举报