当前位置:首页 > 学习 > 四级网络工程师 > 正文内容

[真1][12][单选]对于如下银行存款的程序

四级网络工程师3个月前 (02-02)
typedef semaphore;
semaphore dblock;
dblock = 0;

int deposit(id, int c)   // 存款例程,id是用户号,c为存入现金额
{
    int n;
    P(dblock);            // P操作(申请锁)
    n = fetch(balance);   // 从服务器取存款余额
    n = n + c;            // 存款余额加存入现金额
    send(n);              // 送回新余额
    V(dblock);            // V操作(释放锁)
    output(n);            // 打印余额凭条
}

其中,fetch(balance)语句的作用是


测试是否能正确进入临界区

访问临界资源

将“正在访问临界区”的标志清除

访问临界资源之外的其余部分


答案

访问临界资源


解析

程序中的存款账户是属于临界资源,同一时刻只能有一个进程对其进行操作,所以 P(s语句是用于进程进入临界区操作,V(s语句是用于进程离开临界区操作。而 fetch(balance语句是用于对临界资源进行访问,所以选择 B 选项。


转载请注明出处。

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

相关文章

[1][1][单选]在不同类型的操作系统中,批处理操作系统的缺点是

缺少交互性不能并发运行CPU 利用率低周转时间长大答案缺少交互性解析批处理操作系统的优点是作业流程自...

[1][7][单选]某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是

运行状态就绪状态挂起状态阻塞状态答案运行状态解析线程调度的主要功能是根据一定的调度算法,从就绪队列中...

[1][25][单选]操作系统在对磁盘的访问中,优化下列哪个时间可以显著改善磁盘读写的性能

寻道时间旋转延时传输时间调度时间答案寻道时间解析磁盘设备在工作时,以恒定的速率旋转,为了读和写,磁头...

[1][26][单选]设备管理中,为了管理和分配设备建立了一个数据结构,通常称为设备表。它的作用是

管理物理设备管理逻辑设备实现即插即用建立逻辑设备与物理设备之间的对应关系答案建立逻辑设备与物理设备之...

[1][28][单选]死锁产生的原因之一是资源分配不当,另一个原因是

存在共享资源使用 P、V 操作过多系统中没有采用 SPOOLing 技术进程推进顺序不当答案进程推进...

[1][29][单选]下列关于死锁与安全状态的叙述中,哪一个是正确的

死锁状态一定是不安全状态从安全状态有可能进入死锁状态不安全状态就是死锁状态死锁状态有可能是安全状态答...