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

有如下银行存款的程序

四级网络工程师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); //打印余额凭条
}



上述程序中,while TS(&lock)指令的作用是


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

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

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

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

答案    

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


解析    


在上述银行存款的程序中,while TS(&lock) 指令的作用是临界资源访问过程中的进入区的一部分。


解释如下:


进入区:这是进程试图进入临界区的代码段,它通常包含了对互斥锁的检查和获取操作。在提供的代码中,while TS(&lock); 语句是进入区的一部分,因为它使用了 Test-and-Set 指令来尝试获取锁。这个循环会一直执行,直到成功获取到锁为止,确保每次只有一个进程可以进入临界区。


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


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


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


因此,while TS(&lock) 指令的作用是临界资源访问过程中的进入区的一部分,它的目的是确保在任何时候只有一个进程可以访问临界资源(即更新账户余额)。



相关文章

在不同类型的操作系统中,批处理操作系统的缺点是

缺少交互性不能并发运行CPU利用率低周转时间长答案    缺少交互性解析...

若一个单核处理器的系统中有多个进程存在,则这些进程是

并发并行封闭单道答案    并发解析    若一个单...

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

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

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

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

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

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

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

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