🏷️ 知识点:硬件互斥

共 1 道相关题目

2016 年第 27 题 操作系统 选择题

使用 TSL (Test and Set Lock) 指令实现进程互斥的伪代码如下所示。

do {
    ...
    while (TSL(&lock));
    critical section;
    lock = FALSE;
    ...
} while (TRUE);

下列与该实现机制相关的叙述中,正确的是( )。

硬件互斥指令

A. 退出临界区的进程负责唤醒阻塞态进程 B. 等待进入临界区的进程不会主动放弃 CPU C. 上述伪代码满足“让权等待”的同步准则 D. while (TSL(&lock)) 应在关中断状态下执行

[tag_link]

正确答案:B

本题考察 硬件互斥 ,当进程退出临界区时置 lock 为 FALSE,会负责唤醒处于就绪状态的进程,A 错误。若等待进入临界区的进程会一直停留在执行while(TSL(&lock))的循环中,不会主动放弃 CPU, B 正确。让权等待,即当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。通过 B 选项的分析中发现上述伪代码并不满足“让权等待”的同步准则,C 错误。若while(TSL(&lock))在关中断状态下执行,当TSL(&lock)一直为 true 时,不再开中断,则系统可能会因此终止,D 错误。