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

有如下银行存款的程序

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



上述程序中,fetch(balance)指令的作用是



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

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

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

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

答案    

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


解析    

在上述银行存款的程序中,fetch(balance) 指令的作用是从主服务器取存款余额,它是临界资源访问过程中的临界区的一部分。


解释如下:


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


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


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


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


因此,fetch(balance) 指令的作用是从主服务器取存款余额,它是临界资源访问过程中的临界区的一部分。


相关文章

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

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

现代操作系统的基本特征是

并发性顺序性封闭性并行性答案    并发性    (扩展...

在组成计算机系统的各类资源中,主要包含有硬件部件以及

代码和数据键盘鼠标和显示器操作系统各类应用软件答案    代码和数据解析...

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

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

计算机系统中,操作系统作为系统软件集中了下列哪两类主要功能

资源管理和控制程序执行资源管理和硬件控制软件代码的运行和控制硬件接口和人机界面答案  ...

在操作系统中建立了用于记录各种软硬件资源信息的数据结构,该数据结构的用途是

提供系统软件编程工具所必须的资源了解用户需求和当前资源使用情况,对资源进行有效组织管理提供为用户服务...