当前位置:文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > 操作系统进程调度报告
侵权投诉

操作系统进程调度报告

进程调度

一、 实验目的

进程是操作系统中最基本、最重要的概念,进程调度又是操作系统的核心模块。本实验要求学生独立地用C 或C++语言编写一个简单的进程管理程序,其主要部分是进程调度。调度算法可由学生自行选择,如基于动态优先级的调度算法或多级反馈队列调度算法。

通过本实验可加深学生对进程各种状态的转化和各种调度算法的理解,提高系统程序设计能力。

二、 实验环境

C/C++/C#Cfree / Microsoft Visual Studio 6.0 / Microsoft Visual Studio .NET2005

三、 实验的重点和难点

了解进程调度,无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。

先进先出算法:算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。例如,有三个进程P1、P2和P3先后进入就绪队列,它们的执行期分别是21、6和3个单位时间,对于P1、P2、P3的周转时间为21、27、30,平均周转时间为26。可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法。 短进程优先算法:最短CPU运行期优先调度算法(SCBF--Shortest CPU Burst First)

该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。例如,在就绪队列中有四个进程P1、P2、P3和P4,它们的下一个执行进程调度期分别是16、12、4和3个单位时间,执行情况如下图: P1、P2、P3和P4的周转时间分别为35、19、7、3,平均周转时间为16。该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。

第1页

猜你喜欢

返回顶部