07级操作系统第5章习题答案.pptVIP

  • 1
  • 0
  • 约4.31千字
  • 约 19页
  • 2017-05-21 发布于北京
  • 举报
操作系统第五章习题解答 5.2 5.3 a. (1).上限是100。因为最多只有100次加1操 作。这种情况发生在两个进程顺序执行时。 (2).下限是2,发生的情形可以描述如下: 说明:tally++实际上分三步执行,先执行A?tally,再执行INC A,最后执行tally?A。此处A为寄存器,其值将在进程切换时保护起来。 5.6 a.用文字描述这个算法: 分步: 对于第i个进程: 为了得到服务首先要取得顺序号:即对number[i]进行写操作,此时应屏蔽所有其它进程对number数组的读操作。当对number[i]的写操作完成时才允许其它进程对其的读操作。 查看是否有其他进程正在操作,若有则做空操作;与其它进程的顺序号比较,若小于则可得到服务,否则等待。 进入临界区 服务完毕将number[i]置0。 总述: 当一个进程希望进入其临界区,它将得到一张票,票的号码将是所有等待进入临界区或已在临界区的进程所得到票的号码中最大者加1。拥有最小票号的进程将率先进入临界区。如果有多个进程得到的票具有相同的号码,则进程号更小的进程将更占优势。当一个进程离开其临界区,它将重置其中票号为0。 b.解释此算法如何避免死锁 死锁时的情形:每个人都拿到了顺序号,但都拿不到面包。 在本算法中即使顺序号相同,但数组下标是不同的。所以进程总可推进不会发生死锁。 c.解释此算法如何加强互斥

文档评论(0)

1亿VIP精品文档

相关文档