为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表T进行解锁。(1)请修改上述入口处的伪代码程序,使其满足2PL协议。(2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表T进行解锁。
(1)请修改上述入口处的伪代码程序,使其满足2PL协议。
(2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。
相关考题:
若事务T1 对数据D1 已加排它锁 ,事务T2 对数据D2 已加共享锁 ,那么事务T2 对数据D1 ( );事务T 1对数据 D2 ( )。A.加共享锁成功,加排它锁失败 B.加排它锁成功,加共享锁失败 C.加共享锁、排它锁都成功 D.加共享锁、排它锁都失败 A.加共享锁成功,加排它锁失败 B.加排它锁成功,加共享锁失败 C.加共享锁、排它锁都成功 D.加共享锁、排它锁都失败
若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要(2)△t。如果按照流水方式执行,执行完100条指令需要(3)△t。A.1190B.1195C.1200D.1205
若允许对同一账号同时进行转账,要保证转账程序的并发执行,引入共享锁指令 SLock(b)和独占锁指令XLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。请补充上述转账业务的伪代码序列,使其满足2PL协议。
若每一条指令都可以分解为取指,分析和执行三步。已知取指时间t取指=8△t,分析时间t分析=3△t,执行时间t执行=12△t。如果按照流水线方式执行指令,从头到尾执行完 100条指令至少需(41) △t。如果取指时间t取指=8△t,分析时间t分析=12△t,执行时间 t执行=3△t,则从头到尾执行完100条指令至少需(42)△t。A.1200B.1223C.1224D.1211
执行指令时,将每一节指令都分解为取指、分析和执行三步,已知取指时间t取指=5△t,分析时间t分析=2△t.执行时间t执行=3△t如果按照重叠的流水线方式执行指令,从头到尾执行完500条指令需()△t. A、2500B、2505C、2510D、2515
通常可以将计算机系统中执行一条指令的过程分为取指令、分析和执行指令3步,若取指令时间为4△t,分析时间为2△t,执行时间为3△t,按顺序方式从头到尾执行完600条指令所需时间为(3)△t;若按执行第i条、分析第i+1条、读取第i+2条重叠的流水线方式执行指令,则从头到尾执行完600条指令所需时间为(4)△t。A.2400B.3000C.3600D.5400
若事务T1对数据D1加了共享锁,事务T2T3分别对数据D2和数据D3加了排它锁, 则事务( )。 A.T1对数据D2D3加排它锁都成功,T2T3对数据D1加共享锁成功B.T1对数据D2D3加排它锁都失败,T2T3对数据D1加排它锁成功C.T1对数据D2D3加共享锁都成功,T2T3对数据D1加共享锁成功D.T1对数据D2D3加共享锁都失败,T2T3对数据D1加共享锁成功
若事务T1对数据 D1 加了共享锁,事务 T2 、T3分别对数据D2 、D3 加了排它锁,则事务T1对数据( );事务T2对数据( )。A. D2 、D3 加排它锁都成功B. D2 、D3 加共享锁都成功C. D2 加共享锁成功 ,D3 加排它锁失败D. D2 、D3 加排它锁和共享锁都失败A. D1 、D3 加共享锁都失败B. D1、D3 加共享锁都成功C. D1 加共享锁成功 ,D3 如排它锁失败D. D1 加排它锁成功 ,D3 加共享锁失败
并发执行的三个事务T1 、T2 和T3,事务T1 对数据 D1 加了共享锁,事务T2、 T3分别对数据 D2 、D3 加了排 它锁,之后事务T1 对数据( );事务T2对数据( )。A. D2 、D3 加排它锁都成功B. D2 、D3 加共享锁都成功C. D2 加共享锁成功 ,D3 加排它锁失败D. D2 、D3 加排它锁和共享锁都失败A. D1、D3 加共享锁都失败B. D1 、D3 加共享锁都成功C. D1 加共享锁成功 ,D3 加排它锁失败D. D1 加排它锁成功 ,D3 加共享锁失败
将一条指令的执行过程分解为取指、分析和执行三步,按照流水方式执行,若取指时间t取指 = 4△t、分析时间t分析 = 2△t、执行时间t执行 = 3△t,则执行完 100 条指令,需要的时间 为()△t。A.200B.300C.400D.405
假设系统中有事务T1和T2,数据 D1和D2 。若T1对D1已加排它锁,对D2己加共享锁:那么T2对 D1( ),T2对D2( )。A.加共享锁成功,加排它锁失败 B.加共享锁、加排它锁都失败C.加共享锁、加排它锁都成功 D.加排它锁成功,加共享锁失败 A.加共享锁成功,加排它锁失败 B.加共享锁、加排它锁都失败C.加共享锁、加排它锁都成功 D.加排它锁成功,加共享锁失败
试题五(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】假设有两项业务对应的事务T1、T2与存款关系有关:(1)转帐业务:T1(A,B,50),从帐户A向帐户B转50元;(2)计息业务:T2,对当前所有帐户的余额计算利息,余额为X*1.01。针对上述业务流程,回答下列问题:【问题1】(3分)假设当前帐户A余额为100元,帐户B余额为200元。有两个事务分别为T1 (A,B,50),T2,一种可能的串行执行为:T1(A, B, 50) -T2结果:A= 50.5 B=252.5 A+B=303请给出其它的串行执行次序和结果。【问题2】(8分)若上述两个事务的一个并发调度结果如下:(1)上述调度是否正确,为什么?(3分)(2)引入共享锁指令Slock()、独占锁指令Xlock()和解锁指令Unlock(),使上述调度满足两段锁协议,并要求先响应T1的请求。请给出一个可能的并发调度结果。(5分)【问题3】(4分)若将计息业务T2改为对单个帐户的余额计算利息,即T2 (A)余额为A*1.01,请给出串行调度T1 (A,B,50) -T2 (A) -T2 (B)和串行调度T2 (A) -T1 (A,B,50) -T2 (B)的执行结果。若将计息业务设计为对单个帐户的余额计算利息,这种方案是否正确,为什么?
假设系统中有事务T1和T2,数据D1和D2。若T1对D1已加排它锁,对D2已加共享锁;那么T2对D1( ),T2对D2(请作答此空)。A.加共享锁成功,加排它锁失败B.加共享锁、加排它锁都失败C.加共享锁、加排它锁都成功D.加排它锁成功,加共享锁失败
假设事物T1对数据D1加了共享锁,事物T2对数据D2加了排它锁,那么()A.事物T2对数据D1加排它锁成功B.事物T1对数据D2加共享锁成功,加排它锁失败C.事物T1对数据D2加排它锁和共享锁都成功D.事物T1对数据D2加排它锁和共享锁失败
若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1( );事务T1对数据D2(请作答此空)。A.加共享锁成功,加排它锁失败B.加排它锁成功,加共享锁失败C.加共享锁、排它锁都成功D.加共享锁、排它锁都失败
假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(请作答此空),那么T2对D2( )。A.加共享锁成功,加排它锁失败B.加共享锁、加排它锁都失败C.加共享锁、加排它锁都成功D.加排它锁成功,加共享锁失败
并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据(请作答此空);事务T2对数据( )。A.D2、D3加排它锁都成功B.D2、D3加共享锁都成功C.D2加共享锁成功,D3加排它锁失败D.D2、D3加排它锁和共享锁都失败
并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据( );事务T2对数据(请作答此空)。A.D1、D3加共享锁都失败B.D1、D3加共享锁都成功C.D1加共享锁成功,D3加排它锁失败D.D1加排它锁成功,D3加共享锁失败
若事务T1对数据D1加了共享锁,事务t2t3分别对数据D2和数据D3加了排它锁,则事物( )。A.T1数据D2D3加排它锁都成功,t2t3对数据D1加共享锁成功B.T1数据D2D3加排它锁都失败,t2t3对数据D1加排它锁成功C.T1数据D2D3加共享锁都成功,t2t3对数据D1加共享锁成功D.T1数据D2D3加排它锁都失败,t2t3对数据D1加共享锁成功
通常可以将计算机系统中执行一条指令的过程分为取指令,分析和执行指令3步。若取指令时间为5Δt,分析时间为3Δt。执行时间为2Δt,按顺序方式从头到尾执行完600条指令所需时间为( )ΔtA.2400B.2000C.3600D.5400
通常可以将计算机系统中执行一条指令的过程分为取指令、分析和执行指令 3 步,若取指令时间为 4△t,分析时间为 2△t,执行时间为 3△t,按顺序方式从头到尾执行完 600 条指令所需时间为( 上题 )△t;若按执行第 i 条、分析第 i+1 条、读取第 i+2 条重叠的流水线方式执行指令,则从头到尾执行完 600 条指令所需时间为( 本题)△t。A. 2400 B. 2405 C. 3000 D. 3009
当一个程序段同时包含T代码与刀具移动指令时,执行刀具移动的指令,执行T代码指令.