操作系统 课程设计报告 专业 计算机科学与技术 学生姓名 班级 学号 指导教师 完成日期 博 雅 学院 1 题目:进程调度的模拟实现的模拟实现 一、设计目的 本课程设计是学习完“操作系统原理”课程后进行的一次全面的综合训练,通过课程设计,更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力
在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个
也就是说能运行的进程数大于处理机个数
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念
二、设计内容 1)概述 选择一个调度算法,实现处理机调度
设计要求: 1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法
2)可选择进程数量 3)本程序包括三种算法,用 C 或C++语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果
2)设计原理 1.进程控制块的内容如下: 进程名 进程状态 要求运行时间 优先数 链接指针 其 中优先数是赋 给 进程的优先级 调度时总 是选取 优先数最 大的进程优先运行 2.每 个进程的优先数,运行时间,由程序任意 指 定
3.为了调度方便 ,把 进程按 给 定 优先级(动态优先级算法中)从 小 到 大排 成一个队 列
按 给 定 运行时间(短作业优先)从 小 到 大排 成 一个队 列 用一个变 量作为队 首 指 针 ,指 向 队 列 的第 一个进程
4.处理机调度总 是选队 首 进程运行
由于本实验 是模拟处理机调度,所 以被选中的进程并 不实际 的启 动运行,而 是执行: 2 优先数-1(动态优先级算法中) 要求运行时间-1 来模拟进程的一次运行