当前位置:首页 > 四级网络工程师 > [12] > 正文内容

[12][12][单选]为正确使用临界资源,可把对临界资源的访问分成进入区、临界区、退出区和剩余区四部分。请指出下列飞机订票代码中while TS(&lock)语句属于哪一个区域

[12]5个月前 (02-02)
int booking(id) // 订票例程  
{  
    int c;  
    while TS(&lock); // Test-and-Set指令  
    c = fetch(ticket); // 从服务器取剩余票额  
    show(c); // 显示  
    
    if (read(input) == 1) // 是否订票?  
    {  
        c = c - 1; // 票额减1  
        send(c); // 送回新数据  
    }  
    
    lock = FALSE; // 置标志为F  
    output(list); // 打印机票  
}


临界资源访问过程中的临界区

临界资源访问过程中的进入区

临界资源访问过程中的退出区

临界资源访问过程中的剩余区


答案

临界资源访问过程中的进入区


解析

while(TS(&lock是Test and Set指令,其功能是读出锁定位后把该锁定位设置为TRUE。在进入区利用TS进行检查和修改标志lock,故本题答案应选择B选项。

【涉及考点】

第4章 并发与同步


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=6146

相关文章

[12][1][单选]操作系统作为系统软件,位于软件系统的哪一个层面

硬件之上,支撑软件之下支撑软件之上,应用软件之下应用软件之上,支撑软件之下硬件之上,软件系统之下答案...

[12][2][单选]系统调用与一般过程调用是不同的,下列对它们的调用程序和被调用程序的描述中,哪一个是正确的

过程调用和系统调用的调用程序和被调用程序均位于核心态过程调用和系统调用的调用程序和被调用程序均位于用...

[12][6][单选]进程控制块(PCB)的内容一般可以分成调度信息和现场信息两大部分,下列哪一个属于现场信息

当前状态存储信息优先级程序状态字答案程序状态字解析进程控制块PCB的内容一般可以分成调度信息和现场信...

[12][8][单选]当使用进程创建原语创建进程时,下列哪一个选项表示的顺序是正确的

申请PCB,填写PCB,放入运行队列申请PCB,填写PCB,放入就绪队列申请PCB,申请内存,填写P...

[12][10][单选]对于如下C语言程序

void *th_f(void *arg) {   &n...

[12][11][单选]两个相互不感知(完全不了解其他进程是否存在)的进程,其潜在的控制问题是

两个进程通过通信方式协作,但可能造成互斥、死锁或饥饿两个进程相互不竞争、不协作,但可能造成互斥或死锁...