河南成教 / 操作系统
3[综合题]
有一对夫妻在某银行申请了一个共同的账号,办理了正副两张银行卡。每张银行卡都可独立存款和取款,规定每次存款或取款的金额为1000元(约定可透支)。自动存取款机中为银行卡设置了如下两个进程:int amount=0;
main()
{ Cobegin
{ SAVE()
{ int k;
k=amount;
k=k 1000;
amount=k;
}
TAKE()
{ int t;
t=amount;
t=t-1000;
amount=t;
…
}
}
Coend
}
回答下列问题:
(1)上述进程执行时会产生怎样的错误?为什么?
(2)为保证系统的安全,可采用P、V操作来管理。请完善上述程序,以确保系统的安全。
3[综合题]
有一对夫妻在某银行申请了一个共同的账号,办理了正副两张银行卡。每张银行卡都可独立存款和取款,规定每次存款或取款的金额为1000元(约定可透支)。自动存取款机中为银行卡设置了如下两个进程:int amount=0;
main()
{ Cobegin
{ SAVE()
{ int k;
k=amount;
k=k 1000;
amount=k;
}
TAKE()
{ int t;
t=amount;
t=t-1000;
amount=t;
…
}
}
Coend
}
回答下列问题:
(1)上述进程执行时会产生怎样的错误?为什么?
(2)为保证系统的安全,可采用P、V操作来管理。请完善上述程序,以确保系统的安全。
参考答案:
佳题速递: