1 / 24 操作系统课程设计 --进程调度子系统模拟实现 一、 设计内容及意义 1
课程设计内容 使用jav a 语言或C++语言编程实现模拟操作系统进程调度子系统的基本功能;实现先来先服务、时间片轮转、多级反馈轮转法对进程进行的调度过程;掌握各个调度算法的特点
该课程设计意义 ➢ 理解进程调度的概念 ➢ 深入了解进程控制块的功能、进程的创建、删除以及进程各个状态间的转换过程 ➢ 从实用的角度对《数据结构》课程内容进行更深入理解和更熟练的应用 ➢ 进一步练习对 Jav a 及 C++语言的熟练使用 二、 设计方案 1
硬件环境 PC 一台 2
开发语言及工具 ➢ 操作系统:MS windows XP ➢ C++版:Visual Studio 2008 + MFC ➢ Java 版:Eclipse 3
4 + Java Swing 3
设计思路 ➢ 系统设备表用于存取调度过程中进程可申请的资源 ➢ 进程控制块主要负责具体进程信息的保存 ➢ 等待队列、就绪队列、完成队列用于保存执行过程的状态信息 ➢ 进程调度进程(类、线程)在就绪队列与等待队列之间进行调度 ➢ 主界面显示调度过程的三个队列的状态信息 ➢ 用户创建进程放入就绪队列等待调度 三、 功能模块设计 1
进程状态转换 等待就绪执行创建进程进程结束 2 / 24 2
PCB 信息 ➢ 主要负责保存各进程基本信息 ➢ 提供外部状态设置和读取接口 3
系统设备类 ➢ 系统设备的基本信息 ➢ 设备状态设置、读取接口 4
调度类 ➢ 向就绪队列添加新创建进程 ➢ 从就绪队列取相应进程执行 ➢ 将执行阻塞进程放入等待队列 ➢ 检测系统设备表,分配、释放设备、唤醒等待进程 ➢ 执行完成程序放入完成队列(仅为保存状态,非系统部分) ➢ 提供获取执行状态的外部接口,即各个队列数据的获取 5
视图类 ➢ 提供用户