操作系统pcb的组织与维护实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

****年夜学盘算机迷信系

试验讲演书

试验标题:pcb的构造与保护

课程称号:

操纵零碎

主讲老师:

领导老师:

课程编号:

级:

试验时刻:

一、试验目标:

1、经过编写跟调试pcb构造与保护的模仿顺序以加深对pcb构造与保护方

案的了解。

2、经过编写跟调试pcb构造与保护的模仿顺序以增强对过程的根本状况以

及过程的运转变更过程的进一步了解。

二、试验情况:

VC6.0++

三、试验内容

1、经过线性方法对以pcb为独一标记的过程进展创破、查问、增加、删除

等操纵。

2、经过索引方法对以pcb为独一标记的过程进展创破、查问、增加、删除

等操纵。

3、经过链接方法对以pcb为独一标记的过程进展创破、查问、增加、删除

等操纵。

四、试验计划道理

1、零碎应用PCB来描绘过程的根本状况以及过程的运转变更过程。PCB是进

程存在的独一标记,当零碎创破一个过程时,为过程设置一个PCB,再利

用PCB对过程进展治理跟操纵。打消过程时,零碎发出它的PCB,过程也

随之灭亡。过程是由顺序、数据跟过程操纵块PCB三局部构成.PCB是进

程的“魂魄〞,因为过程操纵块中保管了过程的地点信息,经过

以失掉过程顺序的存储位置,也能够寻到全部过程。

PCB可

2、为了便于治理,零碎把一切的PCB用恰当方法构造起来。普通来说,年夜

致有以下三种构造方法:1、线性方法;2、索引方法;3、衔接方法。通

过这三种方法的构造进而对过程进展高效的治理。

五、算法计划与流程

顺序计划流程图如下:

1、线性方法流程图:

开场

输入:输入有误!请从新输

读当选择选择输入

输入能否是1

能否是2

线性方法

索引方法

请输入过程的个数

读入过程的个数n

保管这n个过程的信息,并

创破n个过程

前往首菜单

选择响应的操纵

查问

增加

删除

在已有的过程信息中

在已有的过程信息中

查寻对应过程号的进

程信息

查寻对应过程号的进

程信息

把新的

过程信

息保管

能否存在

能否存在

输入过程信息

无该过程

删除该过程

无该过程

线性方法代码:

#includeiostream

#includestring

usingnamespacestd;

#defineFALSE0

#defineTRUE1

#defineTASK_READY3

#defineTASK_WAITE4

#defineTASK_RUNNING5

structtask_struct

{

stringpname;//过程名

intpid;//过程号

intstate;//过程以后形态/*3停当形态4等候形态5运转形态*/

task_struct*next;//指向下一个的

};

/////////////////////////////////////

voidshowInput();

voidmenu(task_struct*pcb);

////////////////////////////////

intinputNum()//提醒输入过程数

{

intn;

cout请输入过程数:;

cinn;

coutendl;

returnn;

}

voidCreateList(task_struct*pcb,intn)

{

pcb-next=NULL;

task_struct*p=newtask_struct;

p=pcb;

for(inti=0;in;i++)

{

task_struct*q=newtask_struct;

inttmp;

q-pid=i+1;

cout请输入第i+1个过程名:;

cinq-pname;

loop:cout请输入过程形态(3为停当形态,4为等候,5为运转):;

cintmp;

if(tmp!=3tmp!=4tmp!=5)

{

cout输入过错!endl;

gotoloop;

}

else

q-state=tmp;

if(p-next==NULL)

{

q-next=NULL;

p-next=q;

//p=q;

coutAddanodeendl;

}

else

{

q-next=NULL;

p=p-next;

p-next=q;

//p=q;

coutforAddendl;

}

coutendl;

}

}

voiddisplay(task_struct*pcb)

{

task_struct*p;

cout****************************************endl;

cout过程号\t过程名\t以后形态endl;

for(p=pcb-next;p!=NULL;p=p-next)

{

coutp-pid\tp-pname\t;

switch(p-state)

{

case3:coutTASK_READYendl;brea

文档评论(0)

192****9266 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档