- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、课程设计目的和任务
一、课程设计目的和任务
课程设计题目:独占设备的分配与回收
问题描述:为了使系统有条不紊地工作,系统在分配设备是,应考虑这样几个因素:①设备的固有属性;②设备分配算法;③设备分配时的安全性④设备独立性;系统也要通过回收,实现设备的再分配。
要求:设备分配在计算机系统中,设备、控制器和通道等资源是有限的,并不是每个进程随时都可以得到这些资源。进程首先要向设备管理程序提出申请,然后由设备管理程序按照一定的分配算法给进程分配必要的资源。如果进程的申请没有成功,就要在资源的等待队列中排队等待,直到获得所需的资源。考虑设备的特性和安全性。设备的特性是设备本身固有的属性,一般分为独占、共享和虚拟设备等独占设备的分配与虚拟设备独占设备每次只能分配给一个进程使用,这种使用特性隐含着死锁的必要条件,所以在考虑独占设备的分配时,一定要结合有关防止和避免死锁的安全算法。#define false 0
#define true 1
#define n 4
#define m 10
struct
{
char type[10]; /*设备类名*/
int count; /*拥有设备台数*/
int remain; /*现存的可用设备台数*/
int address; /*该类设备在设备表中的起始地址*/
}equiptype[n]; /*设备类表定义,假定系统有n个设备类型*/
struct
{
int number; /*设备绝对号*/
int status; /*设备好坏状态*/
int remain; /*设备是否已分配*/
char jobname[4];/*占有设备的作业名*/
int lnumber; /*设备相对号*/
}equipment[m]; /*设备表定义,假定系统有m个设备*/
allocate(J,type,mm)
char *J,*type;
int mm;
{
int i,t,j;
/*查询该类设备*/
i=0;
while(instrcmp(equiptype[i].type,type)!=0)
i++;
if(i=n)/*没有找到该类设备*/
{
printf(无该类设备,设备分配失败);
return(false);
}
if(equiptype[i].remain1)/*所需设备现存可用台数不足*/
{
printf(该类设备不足,分配失败);
return(false);
}
t=equiptype[i].address;/* 取出该类设备在设备表中的起始地址*/
while(!(equipment[t].status==1 equipment[t].remain==0))
t++;
/*填写作业名、相对号,状态改为已分配*/
equiptype[i].remain--;
equipment[t].remain=1;
strcpy(equipment[t].jobname,J);
equipment[t].lnumber=mm;
}/*设备分配函数结束*/
reclaim (J,type)
char J,type;
{
int i,t,j,k,nn;
i=0;
while(instrcmp(equiptype[i].type,type)!=0)
i++;
if(i=n)/*没有找到该类设备*/
{
printf(无该类设备,设备回收失败);
return(false);
}
t=equiptype[i].address; /*取出该类设备在设备表中的起始地址*/
j=equiptype[i].count; /*取出该类设备的数量*/
k=0;
nn=t+j;
for(;tnn;t++)
if(strcmp(equipment[t].jobname,J)==0equipment[t].remain==1)
{
equipment[t].remain=0;
k++;
}
equiptype[i].remain= equiptype[i].remain+k;
if(k==0)
printf(该作业没有使用该类设备\n);
}/*设备回收函数结束*/
main( )
{
char J[4];
int i,mm,a;
char type[10];
/*设备类表初始化:*/
strcpy(equiptype[0].type,input);/*输入机*/
equiptype[0].count=2;
equiptype[0].remain=2;
equiptype[0].address=0;
strcpy(equiptype[1].type,printer);/*打印机 */
equiptype[1].count=3;
equiptype[1].remain=3;
equiptype[1].address=2;
s
您可能关注的文档
- 2009年第2期(总第23期).doc
- 2010-2013年上海地铁行业市场研究与投资分析报告.doc
- 2011年小型水稻联合收割机补贴产品质量普查实施方案.doc
- 2011江苏盐城化学(word版含答案).doc.doc
- 2012中国投资波兰论坛.doc
- 2012年全国各地中考历史真题分类汇编[专题七.doc
- 2012年,江苏省在全国率先实施985高校村官工程,即择优选聘985高.doc
- 2013-2014年度深圳地铁三号线.doc
- 2013中国.三门峡横渡母亲河活动.doc
- 2014年3月份例会内容.doc
- 期末必考题检测卷(二)(含解析)-2026年道德与法治八年级下册统编版.pdf
- 江苏省南京市六校联合体2026年高一下学期期末调研化学试卷(含答案).pdf
- 江苏省盐城市亭湖区盐城一小教育集团数学三年级第二学期期末质量检测模拟试题(含答案).pdf
- 湖南省益阳市南县2026年七年级下学期期中历史试题(含答案).pdf
- 基因控制生物的性状综合题(含解析)人教版生物八年级下册.pdf
- 沪教版七年级下册Unit 8 Follow your interests 首字母填空、完成句子、语篇填词B篇(含答案).pdf
- 湖北省黄石市有色第一中学2026年高二下学期6月考试历史试卷(含答案).pdf
- 江苏省无锡市锡东片区2026年八年级下学期期中考试道德与法治试卷(含答案).pdf
- 江苏省连云港市新海协作体高一年级下册学期5月月考历史试题(含答案).pdf
- 江苏省盐城市亭湖区盐城一小数学四年级下册期末联考试题(含答案).pdf
文档评论(0)