1、 一一课程课程概述概述 1.1.设计构想设计构想 程序能够完成以下操作: 创建进程: 先输入进程的数目, 再一次输入每个进程的进程名、 运行总时间和优先级,先到达的先输入;进程调度:进程创建完成后就选择进程调度算法, 并单步执行,每次执行的结果都从屏幕上输出来。 1.2.需求分析需求分析 在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目,要使这多个进程能 够并发地执行, 这就要求系统能按某种算法, 动态地把处理机分配给就绪队列中的一个进程, 使之执行。 分配处理机的任务是由处理机调度程序完成的。 由于处理机是最重要的计算机资 源,提高处理机的利用率及改善系统必(吞吐量、响应时间)
2、 ,在很大程度上取决于处理机 调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之一。本次实验在 VC+6.0 环境下实现先来先服务调度算法,短作业优先调度算法,高优先权调度算法,时间 片轮转调度算法和多级反馈队列调度算法。 1.3.理论依据理论依据 为了描述和管制进程的运行,系统为每个进程定义了一个数据结构进程控制块 PCB(Process Control Block),PCB 中记录了操作系统所需的、 用于描述进程的当前情况以及控 制进程运行的全部信息, 系统总是通过 PCB对进程进行控制, 亦即, 系统是根据进程的 PCB 而不是任何别的什么而感知进程的存在的,PCB 是进程存
3、在的惟一标志。本次课程设计用 结构体 Process 代替 PCB的功能。 1.4.课程任务课程任务 一、用 C 语言(或 C+)编程实现操作模拟操作系统进程调度子系统的基本功能;运用多 种算法实现对进程的模拟调度。 二、通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转、短作业优先、多 级反馈队列调度算法, 使学生进一步掌握进程调度的概念和算法, 加深对处理机分配的 理解。 三、实现用户界面的开发 1.5.功能模块功能模块分析分析: 1、进程概念:进程是被独立分配资源的最小单位。进程是动态概念,必须程序运行才有 进程的产生。 2、进程的状态模型: (1)运行:进程已获得处理机,当前
4、处于运行状态。 (2)就绪:进程已经准备好,一旦有处理器就可运行。 3、处理机调度:在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机 这一重要的资源。 处理机调度就是从就绪队列中, 按照一定的算法选择一个进程并将 处理机分配给它运行,以实现进程并发地执行。 4、进程调度算法的功能: 记录系统中所有进程的执行情况 选择占有处理机的进程 进行进程的上下文切换 5、进程调度的算法: (1)先来先服务算法:如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在 就绪队列的后面,那么先来先服务总是把当前处于就绪队列之首的那个进程调 度到运行状态。 (2)优先数算法:即进程的执行顺序由高优先级到低优先级。系统或用户按某种原 则为进程指定一个优先级来表示该进程所享有的确调度优先权。该算法核心是 确定进程的优先级。 (3)时间片轮转算法:固定时间片,每个进程在执行一个时间片后,轮到下一进程 执行,知道所有的进程执行完毕。处理器同一个时间只能处理一个任务。处理 器在处理多任务的时候,就要看请求的时间顺序,如果时间一致,就要进行预 测。挑到一个任务后,需要若干步骤才