os实验一进程调度算法 下载本文

实验一 进程调度算法

一、实验目的

应用高级语言编写和调试一个进程调度程序,通过创建进程、调度进程,进一步熟悉操作系统的进程概念,以加深进程调度算法的理解. 二、实验环境:

硬件环境:计算机一台,局域网环境;

软件环境:Windows XP及以上版本 Professional操作系统平台,Visual C++ 6.0专业版或企业版。 三、实验指导

设计一个有 N个进程共行的进程调度程序。

进程调度算法:分别采用先来先服务算法、短作业优先算法、高响应比优先算法实现。

每个进程用一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先级、到达时间、要求服务时间、进程状态等等。 其中到达时间和要求服务时间可以在程序中进行初始化或者在程序开始时由键盘输入。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。

每个进程完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组进程完成后要计算并打印这组进程的平均周转时间、带权平均周转时间。

三、提示

1、在采用短作业优先算法和高响应比优先算法进行调度时应注意进程的到达时间,对于没有到达的进程不应参与调度。

2、注意在采用高响应比优先算法时计算优先权的时机,因为采用动态优先权,所以应在每次调度之前都重新计算优先权,高响应比优先算法采用下列公式计算优先权

等待时间?要求服务时间要求服务时间

优先权?