目录。进程调度模拟程序 1
一.设计目的及要求 1
二.概要设计 1
三.算法流程图 2
四.源程序及注释 6
五.运行结果及分析 16
六.课程设计总结 19
七.参考文献 19
编写一个进程调度程序,允许多个进程并行执行。本次设计将采用三种算法实现进程。
的并行执行,分别是最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)
先来先服务算法、按时间片轮转调度算法。
每个进程有一个进程控制块(pcb)表示。进程控制块可以包含如下信息:进程名、
优先数、到达时间、需要运行时间、已用cpu时间、进程状态。
2 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程。
的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。
3 每个进程的状态可以是就绪 w(wait)、运行r(run)、或完成f(finish)三种状。
态之一。 建立一个pcbobj的数组来存放进程队列。
建立一个类pcbobj存放进程的各种信息并对这些信息的操作。
建立一个类wait_manager 来对就绪进程进行管理。
建立一个类cpu_manager 来对运行的进程进行管理。
图1-1 主程序流程图。
图1-2 fcfs算法流程图。
图1-3 rr算法流程图。
图1-4 hpf算法流程图。
#include
using namespace std;
#ifndef pcbobj_h_
#define pcbobj_h_
enum pstatus;//定义进程的四种状态。
class pcbobj
int pcbobj::getexectime() const
return flag;
#include
#include
#include""
#ifndef waitmanager_h_
#define waitmanager_h_
class waitmanager
waitmanager::~waitmanager()
void waitmanager::add(pcbobj new_obj)else{
bool insert_info=false;//查看是否已经插入进去。
for(list::iterator it=wait_pcb_
if(new_obj->getid()>it)->getid())
wait_pcb_
new_obj->setstatus(wait);
操作系统课程设计报告书
题目1 连续动态内存管理模拟实现。1.1 题目的主要研究内容及预期达到的目标。1 针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法 循环首次适应算法和最佳适应算法。2 实现内存分配和 功能。1.2 题目研究的工作基础...
操作系统课程设计报告
西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中...
操作系统课程设计报告
课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟...