当前位置:首页 > 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://pythonopen.com/?id=7557

相关文章

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

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

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

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

[12][4][单选]中断是指CPU对系统中或系统外发生的异步事件的响应,中断源是指

引起中断的那些事件中断控制器向处理器发出的信号正在执行的程序的暂停点使处理器暂停当前程序而去处理中断...

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

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

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

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

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

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