当前位置:首页 > 4444临时 > 正文内容

[30][13][单选]学校教务处在学生选课系统中编写了如下程序供选课学生在网上使用:

4444临时3个月前 (02-02)

Semaphores mutex; //定义信号量 PROCESS P(i, j //学生学号为 i,课程号为 j {    int r;    P(r; //局部变量    r = search(j; //找到课程 j 并返回课程 j 剩余量    if (r >= 1    {        identify(i, j; //确认学生选课成功,记录        r = r - 1;        modify(j; //将课程 j 的剩余量修改为 r        print("恭喜你选课成功!";    }    else print("对不起,没有该课程或选课已满。";    V(mutex; //解锁 } 请问,该选课程序在使用时

选课学生数可能会超出课程容量

选课学生能够正常选课,选课学生数与初始相符

选课学生未选到系统可能发生死锁

选课学生选不到课,系统会报错

答案

选课学生能够正常选课,选课学生数与初始相符

解析

根据编写的程序可知,判断课程是否可选,主要取决于局部变量 r 的值。程序中设置了 mutex,该信号量只能表示对选课系统进行访问控制,当学生在选课的时候,只要选中了所选的课程,课程剩余量就会减少,不会等到学生选择成功后才修改课程剩余量的值,否则选课学生数可能会超出课程容量。故答案选择 B 选项。


转载请注明出处。

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

相关文章

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

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

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

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

[12][3][单选]处理器中对用户可见的存储器是

程序状态字寄存器数据寄存器程序计数器指令寄存器答案数据寄存器解析处理器一般包括两类寄存器:一类称为用...

[12][5][单选]进程有三种基本状态,在允许抢占并采用高优先级优先调度算法的系统中,一个进程从就绪状态转换为运行状态的可能事件是

该进程创建完成进入就绪队列并具有最高优先级该进程等待从键盘上读取用户数据该进程的优先级由于某种原因被...

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

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

[12][7][单选]某4核处理器的计算机系统中共有50个进程,那么,处于运行状态的进程最多有几个

45010答案4解析由题目可知计算机系统中处理器是4核心的,也就是意味着同时可以执行4个进程的指令,...