ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:19.02KB ,
资源ID:19509244      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19509244.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五独占设备的分配和回收模拟Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验五独占设备的分配和回收模拟Word格式文档下载.docx

1、已/未分配占用作业名相对号好未分配67810 在设备表中,用“1”表示设备好,用“0”表示设备坏;用“1表示设备已分配,用“0”表示设备末分配. 设备类表的数据结构定义如下: #define n 4 struct char type4;/*设备类名*/ int count;/*拥有设备台数*/ int remain;/*某类设备现存可用的台数/ int address;/该类设备在设备表中的起始地址/ equiptypen/设备类表定义,假定系统有 n个设备类型* 设备表的数据结构定义如下: #define m 10 Int number;/设备绝对号*/ int status;/*设备好环状

2、态,“o”表示设备坏;用“ l”表示设备好*/设备是否已分配,用“ l介表示已分配,用“o表示末分配*/ char jobname4;/*占有设备的作业名/ int inumber;/*设备相对号*/ equipmentm/*设备表定义,假定系统有m个设备/ 当作业申请某类设备时,系统先查“设备类表”,如果该设备的现存台数可以满足申请要求,则从“设各类表”中得到该类设备的设备表起始地址,然后找到“设备表”中该类设备的起始地址,依次查询该类设备的每一个登记项,找出“好的且末分配”的设备分配给该作业.分配后要修改设备类表中的现存台数,把分配给该作业的设备状态改为“已分配,且填上占用该设备的作业的作

3、业名和程序中定义的相对号,最后,把设备的绝对号与相对号的对应关系通知用户. 当作业运行完回收设备时,首先要查设备表,比较每一项,找到占用作业名与运行完作业的作业名的一栏,将这一栏的“已未分配”置为“未分配。然后将设备表中对应设备类的“现存台数”增1。 实验中,首先要建立“设备类表”和“设备表”,假设系统的模拟设备如下表:分配设备要求输入作业名、设备类名和相对号,回收设备要求输入作业名和设备类名。五实验源代码#includeincludestring.hinclude#define false 0define true 1#define n 4#define m 10struct char ty

4、pe10; /设备类名*/ /*拥有设备台数*/ int remain; /*现存的可用设备台数/ int address; /*该类设备在设备表中的起始地址*/equiptypen; /设备类表定义,假定系统有n个设备类型/ int number; /设备绝对号/ /设备好坏状态/ /*设备是否已分配*/ char jobname4; /占有设备的作业名*/ int lnumber; /*设备相对号/ equipmentm; /设备表定义,假定系统有m个设备*/ allocate(char *J,char type,int cc) int i,t,j; /查询该类设备*/ i=0; whil

5、e(in&strcmp(equiptypei.type,type)!=0) i+; if(i=n) /没有找到该类设备*/ printf(”无该类设备,设备分配失败!); return(false); if(equiptypei.remain1) /*所需设备现存可用台数不足*/ printf(”该类设备不足,分配失败! return(false); t=equiptypei.address; /* 取出该类设备在设备表中的起始地址*/while(!(equipmentt.status=1 & equipmentt.remain=0) t+; /填写作业名、相对号,状态改为已分配*/ equi

6、ptypei。remain-; equipmentt.remain=1; strcpy(equipmentt.jobname,J); equipmentt。lnumber=cc; /*设备分配函数结束/ reclaim(char J,char type) int i,t,j,k,nn; while(in&strcmp(equiptypei。type,type)! i+; if(i=n) /没有找到该类设备/ printf(无该类设备,设备回收失败! return(false); t=equiptypei.address; /取出该类设备在设备表中的起始地址/ j=equiptypei.coun

7、t; /*取出该类设备的数量/ k=0; nn=t+j; for(;tnn;t+) if(strcmp(equipmentt.jobname,J)=0equipmentt.remain=1) equipmentt.remain=0; k+; equiptypei。remain= equiptypei。remain+k; if(k=0) printf(The jop havent use this kind of equitmenttype!/n”); /设备回收函数结束*/void main( ) char J4; int i,mm,a; char type10; printf(”设备类初始化

8、:(请输入相应设备的数量,当前空闲设备数量,设备表起始地址)n ); for(i=0;i4;i+) /设备类表初始化:*/ printf(”请输入相应设备类名称:”); scanf(s”,equiptypei。type); printf(请输入相应设备的数量: scanf(”d”,&equiptypei.count); printf(”请输入当前空闲设备数量: scanf(”%d”,equiptypei。remain);请输入设备表起始地址:”); scanf(”%d,&equiptypei。address); for(i=0;i10;i+) /设备表初始化: equipmenti.numbe

9、r=i; equipmenti.status=1; equipmenti.remain=0; while(1)n0-退出,1-分配,2回收,3显示”);n选择功能项(03):d”,a); switch(a) case 0 : /a=0程序结束/ exit(0); case 1 : /*a=1分配设备/ printf(输入作业名、作业所需设备类和设备相对号n scanf(”s%sd,J,type,mm); allocate(J,type,mm); /*分配设备*/ break; case 2: /a=2回收设备/输入作业名和作业归还的设备类n scanf(”%ss”,J,type); /输入要回

10、收的作业名及对应的设备类/ reclaim(J,type); /回收设备/ case 3: /a=3 输出设备类表和设备表的内容/ printf(”输出设备类表!n”); /输出设备类表内容*/ 设备类型 设备总量 空闲好设备n for(i=0;n;i+) printf(”%9s%16d22d14dn”,equiptypei.type,equiptypei.count,equiptypei.remain,equiptypei。输出设备表:n /*输出设备表内容/ printf(”绝对号 好/坏 已/未分配 占用作业名 相对号n”);im; printf(”%3d%11d%15d%15s%9dn

11、,equipmenti.number,equipmenti.status,equipmenti.remain,equipmenti.jobname,equipmenti。lnumber);测试(运行时屏幕显示,红色字表示从键盘输入) 0一退出,l一分配,2一回收,3一显示 选择功能项(0一3):输出设备类表: 设备类型 设备总量 空闲好设备 input 2 2 printer 3 3 disk 4 4 tape 1 1 输出设备表: 绝对号 好坏 已未分配 占用作业名 相对号 0 1 0 0 1 1 0 0 2 1 0 0 3 1 0 0 4 1 0 0 5 1 0 0 6 1 0 0 7 1

12、 0 0 8 1 0 0 9 1 0 0 0一退出,l一分配,2一回收,3一显示 选择功能项(03):l输人作业名、作业所需设备类和设备相对号J1 ddd 2无该类设备,设备分配失败0一退出,l一分配,2一回收,3一显示选择功能项(03):输人作业名、作业所需设各类和设备相对号J1 input 1分配成功0退出,l一分配,2一回收,3一显示选择功能项(0-3):输入作业名、作业所需设备类和设备相对号J2 input 30一退出,l一分配,2一回收,3一显示输人作业名、作业所需设各类和设备相对号J1 input 2该类设备不足,分配失败0一退出,l一分配,2一回收,3一显示选择功能项(0-3):

13、输入作业名、作业所需设备类和设备相对号J1 Printer l选择功能项(0一3):输入作业名、作业所需设备类和设备相对号J1 Printer 2输入作业名、作业所需设备类和设备相对号J4 disk 10一退出, l一分配,2一回收,3一显示选择功能项(0一3):输出设备类表: input 2 0 printer 3 1 disk 4 3 tape 1 1输出设备表:绝对号 好坏 已未分配 占用作业名 相对号 0 1 1 J1 1 1 1 1 J2 3 2 1 1 J1 1 3 1 1 J1 2 4 1 0 0 5 1 1 J4 1 7 1 0 0 9 1 0 0输入作业名和作业归还的设备类J1 disk该作业没有使用该类设备输入作业名和作业归还的设备类J1 ddf无该类设备,设备回收失败0一退出,l一分配,2一回收,3一显示输人作业名和作业归还的设备类J1 printer回收成功输人作业名和作业归还的设备类J1 input0一退出,回一分配,2一回收,3一显示输人作业名和作业归还的设备类J4 disk0一退出,l一分配,2一回收,3一显示 input 2 1 printer 3 2 tape 1 1 0 1 0 J1 1 2 1 0 J1 1 5 1 0 J4 1 8 1 0 0 9 1 0 0 0一退出,1一分配,2一回收,3一显示

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1