题库 题库

【简答题】

试题三(15分)
    阅读以下说明和 C 语言代码,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】
    有两个任务(编号分别为 0 和 1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,我们需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。
【代码一】
 
    当一个任务要访问临界资源时,就可以调用代码一给出的这两个函数。代码二给出了任务 0 的一个例子。
【代码二】
 
【问题1】(2分)
    什么是临界资源(critical ?resource)?请用 100 字以内文字简要说明。
【问题2】(6分)
    代码一所示的方法能够实现共享资源的互斥访问吗?请用 300 字以内文字举例说明。
【问题3】(4分)
    代码一采用了一种繁忙等待(busy waiting)的策略,这种策略的缺点是什么?请用100字以内的文字简要说明。
【问题4】(3分)
    如果把 Enter_Critical_Section()函数中的两条语句互换一下位置,会出现什么情况?

参考答案

相关试题