77范文网 - 专业文章范例文档资料分享平台

操作系统结课实验报告(6)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

pcbarea[i].bx=x; pcbarea[i].cx=x; pcbarea[i].dx=x; pcbarea[i].pc=x; pcbarea[i].psw=x; pcbarea[i].time=time; pcbarea[i].finished=0;

if(ready.head!=-1) //就绪队列不空时,挂入就绪队列方式 {

pcbarea[ready.tail].next=i; ready.tail=i;

pcbarea[ready.tail].next=-1; }

else //就绪队列空时,挂入就绪队列方式 {

ready.head=i; ready.tail=i;

pcbarea[ready.tail].next=-1; } return 1; }

void main()

26 页 第

{

//系统初始化 int num,i,j; int runtime;

run=ready.head=ready.tail=-1; pfree=0;

for(j = 0; j< n-1; j++) pcbarea[j].next=j+1; pcbarea[n-1].next=-1;

cout<<\输入进程编号(避免编号的冲突,以两个负数输入结束最多可以创建 10个进程)以及所需运行时间大小(例如5 4表示编号为5,时间片为4)\ cin>>num>>TIME;

while(num>=0 && TIME>=0) {

create(num,TIME); cin>>num>>TIME; count++; }

cout<<\您一共创建了\个进程\ for(int m = 0; m < count; m++) sheduling(); //进程调度

27 页 第

count=count-num_fin;

cout<<\还剩下\个进程待执行\}

/*****************课外:优先数调度算法*****************/ #include #include \

const TimePicture=10;//定义时间片时间长度为10 const Running=1;//定义处于运行状态参数为1 const Aready=2;//定义处于就绪状态参数为2 const Blocking=3;//定义处于等待状态参数为3 const n=10;//假定系统允许进程个数为10

using namespace std; struct {

int name;//进程标识符 int priority;//进程优先数 int status;//进程状态

int ax,bx,cx,dx;//进程现场信息,通用寄存器内容 int pc;//进程现场信息,程序计数器内容 int psw;//进程现场信息,程序状态字寄存器内容

28 页 第

int next;//下一个进程控制块的位置 }pcbarea[n],temp;//模拟进程控制块区域的数组

int PSW,AX,BX,CX,DX,PC,TIME;//模拟寄存器 int run;//定义指向正在运行程序控制块的指针 struct {

int head; int tail;

}ready;//定义指向就绪队列的头指针Head和尾指针tail int pfree;//定义指向空闲进程控制块队列的指针

int sheduling ()//定义进程调度函数 { int i;

if(ready.head==-1)//如果就绪队列中没有进程则退出 {

cout<<\没有就绪的进程\ return 0; }

i=ready.head;//否则把当前正在就绪队列的队首指针赋值给i

29 页 第

ready.head=pcbarea[ready.head].next; if(ready.head==-1) {

ready.tail=-1;//如果就绪队列中就进程为空,则修改tail指针指空 }

pcbarea[i].status=Running;//修改进程控制块的状态位为-运行态

TIME=TimePicture;//设置时间片时间 //恢复该进程的现场信息 AX=pcbarea[run].ax; BX=pcbarea[run].bx; CX=pcbarea[run].cx; DX=pcbarea[run].dx; PC=pcbarea[run].pc; PSW=pcbarea[run].psw;

run=i;//修改指向运行进程的指针 return 1; }//进程调度函数结束

int create(int x,int priority)//创建进程 {

30 页 第

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统结课实验报告(6)在线全文阅读。

操作系统结课实验报告(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622673.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: