问答题


阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。
[说明]
某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。
假设实现停车场管理的伪指令如下表1所示:


根据上述描述,在入口处的伪代码程序为:
x=Get();
IF x=NULL THEN return 0;
Writ(x,1);
[问题1]
为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表T进行解锁。
(1)请修改上述入口处的伪代码程序,使其满足2PL协议。
(2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁若是,给出一个产生死锁的调度。

【参考答案】

(1)满足2PL协议的伪代码: SLock(T);x=Get(); IF x=NULL THEN return 0; U......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)