2026年真题操作系统部分–进程并发读写

四季读书网 3 0
2026年真题操作系统部分–进程并发读写

大家好,我是阑梦清川

2026年真题操作系统部分–进程并发读写 第1张
这道题目说的是进程 P 和进程 Q 并发执行时,在什么情况下绝对不会因为读写同一份数据而出现问题。

首先我们把符号翻译一下:

  1. RP 指的是 P 要读的数据(Read)
  2. WP 指的是 P 要写的数据(Write)
  3. RQ 是 Q 要读的数据
  4. WQ 是 Q 要写的数据
  5. 两个集合的交集等于空集(∅),意味着两边没有重合的数据

其实并发执行最害怕的是以下三种情况:

  1. 你在改,我在看:
    对应第一个选项。Q 正在读数据,但 P 同时去改数据,这会导致 Q 可能读到改了一半、没改完的数据(即“脏数据”),所以这个条件必须要有。

  2. 我在看,你在改:
    这和第一种情况类似,只是角色互换了,同样会读到脏数据,所以这个条件也必须满足。

  3. 咱俩一起改:
    那更不行了。对应第三个选项,即 P 和 Q 写操作的交集必须是空集。如果 P 和 Q 同时改同一个变量,结果会不稳定,所以它们的交集一定要是空集,这样才不会发生错误。

至于第二个选项所说的“两个同时读的数据交集为空集”,其实是不影响的。两个人同时看同一份数据,数据本身不会被改变,一点问题都没有。所以哪怕读操作的交集不是空集,也是安全的,这个条件不需要满足。

综上所述,并发执行不会发生错误的必要条件应该是 1、3、4。

我是阑梦清川,希望得到您的关注

抱歉,评论功能暂时关闭!