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

有如下银行存款的程序

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



上述程序中,output(n)指令的作用是


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

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

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

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

答案    

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


解析    


在上述银行存款的程序中,output(n) 指令的作用是临界资源访问过程中的剩余区的一部分。


解释如下:


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


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


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


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


因此,output(n) 指令的作用是临界资源访问过程中的剩余区的一部分,它的目的是在进程完成对临界资源的访问后,执行一些非关键的操作,例如打印余额凭条。


相关文章

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

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

在进行操作系统设计时,下列哪一个是构造操作系统的方法

网络式结构并行式结构微内核结构主从式结构答案    微内核结构  ...

组成操作系统的主要部分通常是进程线程管理、内存管理、设备管理和

文件管理P、V 操作管理死锁管理备份管理答案    文件管理解析 &nb...

共享性是操作系统的特征之一,下列哪种软件资源可以同时共享

可重入代码临界区中断服务程序内核调度模块答案    可重入代码解析 &n...