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

有如下银行存款的程序

四级网络工程师3个月前 (07-03)
int deposit(id, int c) //存款例程,id 是用户号,c 为存入现金额
{ int n;
while TS(&lock); // Test-and-Set 指令
n=fetch(balance); //从主服务器取存款余额
n=n + c; //存款余额加存入现金额
send(n); //送回新余额
lock = FALSE; //置标志为 F
output(n); //打印余额凭条
}



上述程序中,lock = FALSE 指令的作用是

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

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

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

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

答案    

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


解析    


在上述银行存款的程序中,lock = FALSE 指令的作用是临界资源访问过程中的退出区的一部分。


解释如下:


进入区:这是进程试图进入临界区的代码段,它通常包含了对互斥锁的检查和获取操作。在提供的代码中,while TS(&lock); 语句是进入区的一部分,因为它使用了 Test-and-Set 指令来尝试获取锁。


临界区:这是进程实际访问临界资源的代码段。在提供的代码中,n=fetch(balance); 到 send(n); 这一段代码是临界区,因为它包含了实际的存款操作,即更新账户余额。


退出区:这是进程离开临界区的代码段,它通常包含了对互斥锁的释放操作。在提供的代码中,lock = FALSE; 语句是退出区的一部分,因为它释放了锁,允许其他进程获取锁并进入临界区。


剩余区:这是进程在退出临界区之后的代码段,它不再涉及对临界资源的访问。在提供的代码中,output(n); 语句是剩余区的一部分,因为它是在锁被释放后执行的,用于打印余额凭条。


因此,lock = FALSE 指令的作用是临界资源访问过程中的退出区的一部分,它的目的是在进程完成对临界资源的访问后,释放锁,以便其他进程可以获取锁并访问临界资源。

相关文章

下列选项中,哪一个不是操作系统所具有的功能

管理计算机磁盘提供用户操作的界面管理系统动态库编译高级语言编写的程序答案   &nbs...

在计算机中配置操作系统的主要目的是

提高计算机系统资源的利用率增强计算机的功能提高计算机的运行速度扩充计算机的用途答案  ...

从计算机应用角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础第一道安全防线虚拟机和扩展机答案    人机交互接口...

从软件设计和开发角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础平台第一道安全防线虚拟机和扩展机答案    软件开发...

从计算机系统发展角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础第一道安全防线虚拟机和扩展机答案    虚拟机和扩展...

操作系统是一个可以从多视角考察的软件系统。下列关于操作系统的叙述中,哪一项是错误的

从应用角度看,操作系统是一个工具软件从软件设计和开发的角度看,操作系统是一个基础软件和工具软件从网络...