2018年河南科技学院食品学院341农业综合知识三(自命题)[专业硕士]之数据库系统概论考研基础五套测试题
● 摘要
一、简答题
1. 叙述数据库中死锁产生的原因和解决死锁的方法。
【答案】(1)死锁产生的原因:封锁可以引起死锁。比如事务封锁了数据A ,事务了数据B 。但A 己被成了死锁。
(2)解决死锁的常用方法有如下3种:
①要求每个事务一次就要将它所需要的数据全部加锁。
②预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。
③允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有锁,使其他事务能继续运行下去。
2. 请给出缓冲区管理中的一个淘汰算法, 并上机实现(提示:首先需要设计缓冲区的数据结构,然后写出算法)。
【答案】借助队列实现LRU 页面替换算法作为缓冲区管理的淘汰算法。 定义缓冲区的数据结构如下:
完整的参考代码如下:
第 2 页,共 51 页
封锁
又申 请封锁数据B ,但因B 被封锁,所以也处于等待状态。这样,
封锁,所以和
只能等待。又申请封锁数据A ,
处于相互等待状态而均不能结束,这就形
第 3 页,共 51 页
第 4 页,共 51 页