没有合适的资源?快使用搜索试试~ 我知道了~
操作系统 进程管理模拟系统
4星 · 超过85%的资源 需积分: 9 28 下载量 138 浏览量
2011-11-23
21:13:47
上传
评论 1
收藏 259KB DOC 举报
温馨提示
试读
11页
操作系统实验: 进程管理模拟系统 包括算法原理、程序流程图、源代码、运行结果。
资源推荐
资源详情
资源评论
实验项目名称:进程管理
一、实验目的
1.进一步理解进程的基本概念。
2.加强进程管理中主要数据结构的设计及进程调度算法。
3.观察和管理进程——系统在运行过程中可显示或打印各进程的状态及有
关参数的变化情况。
二、实验原理及基本技术路线图(方框原理图)
1.实验原理:
定义 PCB 的数据结构,用链表的形式管理进程,采用多级反馈队列调度的
算法模拟进程的控制,最终完成有创建、撤销、调度、阻塞、唤醒进程等功能。
2.数据结构:
类:
class queuenode
class queue
函数:
void enqueue( char &item);
char dequeue();
void del(char item);
void display();
int find(char item);
int isempty()
3.算法描述
1、创建进程,根据进程的顺序依次放入就绪队列。
2-1、执行进程——管理系统将就绪队列中的第一个进程调入运行队列;
2-2、将阻塞队列中进程调入就绪队列;
2-3、封锁进程——管理系统将就绪队列中的第一个进程调入阻塞队列;
2-4、结束进程——管理系统撤销所选进程;
2-5、结束程序。
4. 算法流程图
三、实验过程原始记录(数据、图表、计算等)
输 入 进 程 信
息
执
行
进
程
将 阻 塞
队 列 的
进 程 调
入 就 绪
队列
封
锁
进
程
结
束
进
程
退
出
操
作
输入要进行操
作的功能选项
1 2 3 4 5
进行所选进程操作
选 1 且进程正
在执行
Y
操 作 不 能 执
行
选择 #
N
N
N
选择 5
Y
Y
开始
开始
结束
1.源程序代码:
#include<iostream.h>
class queuenode
{
friend class queue;
private:
char data;
queuenode * link;
queuenode (char d=0,queuenode * l=NULL): data(d),link(l){}
};
class queue
{
public:
queue():rear(NULL),front(NULL){};
~queue();
void enqueue( char &item);
char dequeue();
void del(char item);
void display();
int find(char item);
int isempty(){return front==NULL;}
private:
queuenode *front,*rear;
};
queue::~queue()
{
queuenode * p;
while(front!=NULL)
{
p=front;front=front->link;delete p;
}
}
void queue::enqueue(char &item)
{
if(front==NULL)front=rear=new queuenode(item,NULL);
else rear=rear->link=new queuenode(item,NULL);
}
char queue::dequeue()
{
queuenode *p=front;
char f=p->data;front=front->link;
剩余10页未读,继续阅读
资源评论
- 七海豚_lzc2014-04-14资源不错额。
- 水滴的努力2015-03-28有些麻烦,可以用更简单的方法来做
danguo100
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功