《操作系统课程设计》任务书
适用专业:计算机科学与技术专业 课程编号:05184200
前修课程:操作系统 学分:1 总学时:20
一、课程性质、目的与要求
课程性质:专业必修课
课程目的:进程调度是处理机管理的核心内容。本设计要求用 C 语言编写和调试一个简单的
进程调度程序。通过设计本可以加深理解有关进程控制块、进程队列的概念,并
体会和了解最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)
和先来先服务算法的具体实施办法。
教学要求:要求学生具备一定的 C 语言基础,能熟练应用 C 语言设计进程调度程序,实现最
高优先数优先的调度算法和先来先服务算法。
二、设计内容及要求
内容:设计一个有 N 个进程共行的进程调度程序
要求:
1)进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的
进程)和先来先服务算法。
2)每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名 、
优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。
3)进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进
程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。
4)每个进程的状态可以是就绪 W(Wait)、运行 R(Run)、或完成 F(Finish)三
种状态之一。
5)就绪进程获得 CPU 后都只能运行一个时间片。用已占用 CPU 时间加 1 来表示。如
果运行一个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤消该进程,
如果运行一个时间片后进程的已占用 CPU 时间还未达所需要的运行时间,也就是进程还需
要继续运行,此时应将进程的优先数减 1(即降低一级),然后把它插入就绪队列等待
CPU。
6)每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便
进行检查。
7)重复以上过程,直到所要进程都完成为止。
三、设计步骤及课时分配
设计步骤:
1)充分了解各项设计要求。深入理解有关进程控制块、进程队列的概念,并体会和了
解最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法 的
1