实验目:
l 加深设备理理解
l 深入解分配回收独占设备
二 实验预备知识:
ü 设备独立性
ü 独占设备特性
ü 系统设备表物理设备表
三 实验容:
设计种独占设备分配回收方案求满足设备独立性编写程序实现方案进行测试
四 提示讲解:
提高操作系统适应性扩展性现代操作系统中毫例外实现设备独立性做设备关性设备独立性含义:应程序独立具体物理设备
实现独占设备分配系统设置数表格方式相实验中设计合理里仅仅种方案采设备类表设备表
(1) 数结构
操作系统设置设备分配表记录计算机系统配置独占设备类型台数分配情况设备分配表设备类表设备表两部分组成图:
设备类
总台数
空闲台数
设备表始址
输入机
2
1
印机
1
1
……
设备物理名
否分配
占进程
001
未分配
002
已分配
J1
……
003
未分配
……
……
……
……
设备类表
设备表
(2) 设备分配
1) 进程申请某类设备时系统先查设备类表
2) 果该类设备现存台数满足申请求该类设备设备表始址开始次查该类设备设备表中登记项找出未分配设备分配进程
3) 分配修改设备类表中现存台数分配进程设备标志改已分配填占设备进程名
4) 然设备绝号相号应关系通知户便户分配设备装存储介质
(3) 设备回收
进程执行结束撤离时应占设备系统根进程名查设备表找出进程占设备登记栏标志修改未分配清进程名时回收设备台数加设备类表中现存台数中
五 参考程序:
#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(Jtypemm)
char *J*type
int mm
{int itj
i0
while(i
if(i>n)
{cout<<该类设备设备分配失败<
}
if(equiptype[i]remain<1)
{ cout<<该类设备足分配失败<
}
tequiptype[i]address
while((equipment[t]remain0))
t++
equiptype[i]remain
equipment[t]remain1
strcpy(equipment[t]jobnameJ)
equipment[t]lnumbermm
return 1
}
reclaim(Jtype)
char Jtype
{int itjknn
i0
while(i
if(i>n)
{cout<<该类设备设备分配失败<
}
tequiptype[i]address
jequiptype[i]count
k0
nnt+j
for(t
{
equipment[t]remain0
k++
}
equiptype[i]remainequiptype[i]remain+k
if(k0)
cout<<该进程没该类设备<
}
main()
{char J[4]
int imma
char type[10]
strcpy(equiptype[0]typeinput)
equiptype[0]count2
equiptype[0]remain2
equiptype[0]address0
strcpy(equiptype[1]typeprinter)
equiptype[1]count3
equiptype[1]remain3
equiptype[1]address2
strcpy(equiptype[2]typedisk)
equiptype[2]count4
equiptype[2]remain4
equiptype[2]address5
strcpy(equiptype[3]typetape)
equiptype[3]count1
equiptype[3]remain1
equiptype[3]address9
for(i0i<10i++)
{
equipment[i]numberi
equipment[i]remain0
}
while(1)
{
cout<
cin>>a
switch(a)
{
case 0
exit(0)
case 1
cout<<输入进程名进程需设备类设备相号
cin>>J>>type>>mm
allocate(Jtypemm)
break
case 2
cout<<输入进程名进程设备类
cin>>J>>type
reclaim(Jtype)
break
case 3
cout<
}
return 1
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档