一. 设计目的:
(1) 通过课程设计, 加深对操作系统各资源管理模块的理解,掌握操作系统的基本原理及
功能, 具有初步分析实际操作系统、设计、构造和开发现代操作系统的基本能力理
论上必须深刻理解优先权调度算法和时间片轮转调度算法的基本思想和原理;
(2) 学会使用 C/C++编程语言编写优先权调度或时间片轮转算算法调度模拟程序;
(3) 通过对优先权法与循环轮转调度算法的模拟,掌握进程运行过程中状态的切换,加
深对进程概念和进程调度过程的理解,同时掌握进程调度算法的实现方法和技巧。
二. 设计内容:
二.1 题目和环境:
任务:进程调度算法的设计
系统:WindowsXP
语言:C/C++
工具:Visual C++ 6.0
二.2 设计要求:
(1) 设计进程控制块 PCB 表结构,分别适用于优先数调度算法和循环轮转调度算法;
(2) 建立进程就绪队列。对两种不同算法编制入链子程序;
(3) 编制两种进程调度算法:1)优先数调度,2)循环轮转调度;
(4) 对于遇到优先数一致的情况,采用 FIFO 策略解决。
三. 设计过程
三.1 实现功能
实现了对进程的优先数调度算法和循环轮转调度算法的模拟,并把每次的进程信息表
打印到屏幕和对应的算法文件。
三.2 设计思路
(1) 在 proc.h 文件中先建立 PCB 结构,它包括的信息如下图所示:进程名,进程优先
数,轮转时间片,进程已用的 CPU 时间,进程还需要的 CPU 时间,进程的状态等。
具体可根据实践过程而再有所修改。
第 1 页 共 18 页