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

操作系统实验六_设备管理

来源:用户分享 时间:2025/9/18 23:57:26 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

始地址赋给t*/

while(!(equipment[t].status==1 && equipment[t].remain==0))

t++; /*该设备类型起始地

址加一*/

equiptype[i].remain--;

/*剩余设备数减一*/ /*状态改为已分配*/ /*strcpy为字符串拷贝函

equipment[t].remain=1;

strcpy(equipment[t].jobname,J);

数,把J中的字符串拷贝到equipment[t].jobname中*/

/**********************子函数:作业设备回收*****************************/ reclaim(char *J,char *type) {

int i,t,j,k,nn; i=0;

while(i

/*查找欲申请

equipment[t].lnumber=cc;

}

/*设备相对号写入cc*/

归还的设备类型,strcmp函数用于比较equiptype[i].type与type的大小,若相等则返回0*/

i++;

if(i>=n)

/*若没有找到该类设备*/

{ }

精品文档,供参考!

printf(\无该类设备,设备回收失败!\return(false);

t=equiptype[i].address; /*取出该

类设备在设备表中的起始地址赋给t*/

j=equiptype[i].count; /*取出

该类设备的数量赋给j*/

k=0; nn=t+j;

for(;t

if(strcmp(equipment[t].jobname,J)==0&&equipment[t].remain==1) /*

若占用某个设备的作业与欲回收的作业相同且状态为已分配*/

{

equipment[t].remain=0;

/*

则将其状态改为未分配*/

k++;

/*回收

设备计数*/

}

equiptype[i].remain= equiptype[i].remain+k;

/*

该类设备剩余设备数加k*/

if(k==0)

/*若回

收设备计数值k为0,*/ }

/**********************主函数*****************************/ void main( )

{

char J[4]; int i,mm,a; char type[10];

printf(\本作业没有占用这类资源!/n\

精品文档,供参考!

printf(\设备类初始化\\n \

for(i=0;i<4;i++) /*输入设备

类表初始信息*/ {

printf(\请输入相应设备名称:\ scanf(\ printf(\请输入相应设备的数量:\ scanf(\ printf(\请输入当前空闲设备数量:\ scanf(\ printf(\请输入设备表起始地址:\ scanf(\

}

for(i=0;i<10;i++) 备表*/ { equipment[i].number=i; equipment[i].status=1; equipment[i].remain=0;

} while(1) {

printf(\退出,1-分配,2-回收,3-显示\

面*/ printf(\请选择功能(0-3):\ scanf(\ switch(a)

{

case

0

精品文档,供参考!

/*初始化设

/*功能选择界

:

/*a=0程序结束*/

exit(0); case

1

:

/*a=1分配设备*/

printf(\请输入作业名、作业所需设备类型和设备相对号\\n\ scanf(\

allocate(J,type,mm); /*

分配设备*/

break; case

2:

/*a=2回收设备*/

printf(\请输入作业名和作业归还的设备类\\n\

scanf(\ /*输

入要回收的作业名及对应的设备类*/

reclaim(J,type); /*回

收设备*/

break; case

3:

/*a=3 输出设备类表和设备表的内容*/

printf(\输出设备类表!\\n\ /*输出设备类

表内容*/

printf(\设备类型 设备总量 空

闲好设备 起始地址\\n\

printf(\

for(i=0;i

uiptype[i].remain,equiptype[i].address); */

printf(\输出设备表:\\n\ /*输出设备表内容

精品文档,供参考!

搜索更多关于: 操作系统实验六_设备管理 的文档
操作系统实验六_设备管理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c90igw7afhv2r4yi9c8hj79c964hjsm00lgp_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top