高等继续教育 / 计算机操作系统(计算机)
题型描述: 计算题
两个并发执行的程序P和Q共享初值为1的变量x。P对x加1,Q对x减1。加1和减1操作的指令序列分别如下所示。
程序P:
①load R1,x //取x值到寄存器R1中
②inc R1 //R1增1
③store x, R1 //将R1的内容存入x
程序Q:
①load R2,x
②dec R2 //R2减1
③store x, R2
写出P、Q并发执行时所有可能的指令顺序和该顺序执行后的x值。使用类似P①表示相应程序的指令。
两个并发执行的程序P和Q共享初值为1的变量x。P对x加1,Q对x减1。加1和减1操作的指令序列分别如下所示。
程序P:
①load R1,x //取x值到寄存器R1中
②inc R1 //R1增1
③store x, R1 //将R1的内容存入x
程序Q:
①load R2,x
②dec R2 //R2减1
③store x, R2
写出P、Q并发执行时所有可能的指令顺序和该顺序执行后的x值。使用类似P①表示相应程序的指令。
参考答案: