没有合适的资源?快使用搜索试试~ 我知道了~
操作系统模拟的进程的算法(先来先服务和短进程优先)
需积分: 10 2 下载量 71 浏览量
2011-12-11
16:01:46
上传
评论
收藏 3KB TXT 举报
温馨提示
试读
6页
有一个部分没有弄,自己去改进,理解代码的同学自己回去弄,没有学过操作系统的同学我就没有办法了
资源推荐
资源详情
资源评论
#include<iostream>
using namespace std;
class PCB
{
public:
char PCBname; //进程的名字
int arrivetime; //到达时间
int servertime; //服务时间
int finishtime; //完成时间
float runtime; //周转时间
float realiativeruntime; //带权周转时间
PCB()
{
PCBname='0';
arrivetime=-1;
servertime=0;
finishtime=0;
runtime=0;
realiativeruntime=0;
next=NULL;
}
PCB *next,*prior;
};
int pushdatatoPCB(PCB *l) //数据输入
{
PCB *k;
k=l;
PCB *p=new PCB();
cout<<"请输入进程的名字:"<<endl;
using namespace std;
class PCB
{
public:
char PCBname; //进程的名字
int arrivetime; //到达时间
int servertime; //服务时间
int finishtime; //完成时间
float runtime; //周转时间
float realiativeruntime; //带权周转时间
PCB()
{
PCBname='0';
arrivetime=-1;
servertime=0;
finishtime=0;
runtime=0;
realiativeruntime=0;
next=NULL;
}
PCB *next,*prior;
};
int pushdatatoPCB(PCB *l) //数据输入
{
PCB *k;
k=l;
PCB *p=new PCB();
cout<<"请输入进程的名字:"<<endl;
cin>>p->PCBname;
cout<<"请输入进程的到达时间"<<endl;
cin>>p->arrivetime;
cout<<"请输入进程"<<p->PCBname<<"的服务时间:"<<endl;
cin>>p->servertime;
while(k->next!=NULL)
k=k->next;
k->next=p;
p->prior=k;
p->next=NULL;
return 0;
}
int pushdatatoPCB_1(PCB *l) //数据输入,为了短进程优先的输入,决定进程间执行的顺序
{
PCB *k;
k=l;
PCB *p=new PCB();
cout<<"请输入进程的名字:"<<endl;
cin>>p->PCBname;
cout<<"请输入进程的到达时间"<<endl;
cin>>p->arrivetime;
cout<<"请输入进程"<<p->PCBname<<"的服务时间:"<<endl;
cin>>p->servertime;
while(k->next!=NULL)
{
k=k->next;
if(p->servertime<k->servertime)
break;
}
if(p->servertime>=k->servertime)
cout<<"请输入进程的到达时间"<<endl;
cin>>p->arrivetime;
cout<<"请输入进程"<<p->PCBname<<"的服务时间:"<<endl;
cin>>p->servertime;
while(k->next!=NULL)
k=k->next;
k->next=p;
p->prior=k;
p->next=NULL;
return 0;
}
int pushdatatoPCB_1(PCB *l) //数据输入,为了短进程优先的输入,决定进程间执行的顺序
{
PCB *k;
k=l;
PCB *p=new PCB();
cout<<"请输入进程的名字:"<<endl;
cin>>p->PCBname;
cout<<"请输入进程的到达时间"<<endl;
cin>>p->arrivetime;
cout<<"请输入进程"<<p->PCBname<<"的服务时间:"<<endl;
cin>>p->servertime;
while(k->next!=NULL)
{
k=k->next;
if(p->servertime<k->servertime)
break;
}
if(p->servertime>=k->servertime)
剩余5页未读,继续阅读
资源评论
zxjssldqm
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功