考点频率★★★★★必考PV操作的前置基础难度⭐⭐建议掌握同步与互斥的本质区别理解临界资源的概念1️⃣ 为什么要引入同步与互斥在多道程序设计环境下多个进程或线程共享系统中的各种资源如CPU、内存、I/O设备、共享变量等。共享带来效率提升的同时也带来了资源竞争的问题。如果两个进程同时修改同一个共享变量可能导致数据不一致。如果一个进程在打印文件另一个进程也同时使用打印机输出会混乱。因此操作系统需要提供机制来协调多个进程对共享资源的访问这就是进程同步与互斥要解决的问题。2️⃣ 基本概念2.1 临界资源Critical Resource定义一次只允许一个进程使用的资源称为临界资源。常见临界资源共享变量如计数器 count打印机磁带机共享缓冲区如生产者-消费者中的缓冲区注意临界资源是互斥机制产生的原因。正是因为资源一次只能给一个进程用才需要同步与互斥机制来保证访问顺序的有序性。2.2 临界区Critical Section定义每个进程中访问临界资源的那段代码。进程P ┌─────────────────────┐ │ 非临界区代码 │ ├─────────────────────┤ │ 进入区申请资源 │ ← 临界区入口 │ 临界区访问资源 │ ← 核心 │ 退出区释放资源 │ ← 临界区出口 ├─────────────────────┤ │ 非临界区代码 │ └─────────────────────┘一个合格的临界区管理方案应满足以下四个原则原则说明忙则等待已有进程在临界区时其他进程必须等待空闲让进无进程在临界区时允许一个请求者进入有限等待任何进程不能无限等待必须保证在有限时间内能进入让权等待不能进入临界区的进程应释放CPU资源2.3 进程互斥Mutual Exclusion定义当多个进程竞争同一个临界资源时保证同一时刻只有一个进程进入临界区访问该资源。本质互斥解决的是多个进程争抢一个资源的问题“你用了我就不能用”。举例两个学生都想用同一台打印机系统必须保证同一时刻只有一个人在打印。任何人打印期间其他人必须等待。2.4 进程同步Synchronization定义多个进程在执行顺序上必须遵守某种先后次序一个进程必须等待另一个进程完成某件事后才能继续执行。本质同步解决的是进程间的协作顺序问题“你做完了我才能做”。举例生产者和消费者问题——消费者必须先等生产者生产出产品然后才能消费。这就是一种“先生产后消费”的顺序关系。3️⃣ 同步 vs 互斥重点区分对比项互斥同步本质竞争关系合作关系问题资源能否访问事件发生的顺序典型关系你给我滚开我要用你先完成我再开始涉及资源同一临界资源多个进程之间传递信号典型场景多进程争打印机生产者-消费者、前驱图关系互斥是特殊的同步。可以说互斥是解决“谁先用资源”的同步问题。4️⃣ 常见同步互斥问题的分类类型典型问题解决方案互斥问题多进程使用同一共享变量或I/O设备信号量PV操作互斥信号量同步问题生产者-消费者、读者-写者、哲学家进餐信号量PV操作同步信号量前驱关系作业A必须先于作业B执行前趋图 PV操作5️⃣ 经典例题例题1在操作系统中临界区是指 。A. 访问临界资源的程序段B. 进程执行过程中访问共享变量的程序段C. 进程执行过程中访问临界资源的程序段D. 进程执行过程中一次只能由一个进程访问的程序段解析临界区是访问临界资源的那段代码。选D注意是“访问临界资源的程序段”而不是任意共享变量。例题2以下关于进程同步与互斥的叙述中正确的是 。A. 互斥是同步的一种特殊形式B. 同步是互斥的一种特殊形式C. 互斥和同步没有任何关系D. 互斥和同步解决的是同一个问题解析互斥是“资源能否访问”的问题同步是“事件发生的顺序”问题。互斥可以看作是一种“谁先进入临界区”的同步。选A。6️⃣ 记忆口诀临界资源一次用临界区是访问段。互斥解决争资源同步协调执行序。同步互斥紧相连PV操作来管理。7️⃣ 小测验评论区对答案某系统中有一个临界资源两个进程P1和P2都要访问该资源。若P1正在访问该资源则P2此时 。A. 可以同时访问B. 必须等待直到P1释放资源C. 可以抢占P1的资源D. 可以访问该资源的另一部分本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅#软考中级 #软件设计师 #进程同步 #进程互斥 #临界区 #操作系统
【操作系统】进程同步与互斥的基本概念
考点频率★★★★★必考PV操作的前置基础难度⭐⭐建议掌握同步与互斥的本质区别理解临界资源的概念1️⃣ 为什么要引入同步与互斥在多道程序设计环境下多个进程或线程共享系统中的各种资源如CPU、内存、I/O设备、共享变量等。共享带来效率提升的同时也带来了资源竞争的问题。如果两个进程同时修改同一个共享变量可能导致数据不一致。如果一个进程在打印文件另一个进程也同时使用打印机输出会混乱。因此操作系统需要提供机制来协调多个进程对共享资源的访问这就是进程同步与互斥要解决的问题。2️⃣ 基本概念2.1 临界资源Critical Resource定义一次只允许一个进程使用的资源称为临界资源。常见临界资源共享变量如计数器 count打印机磁带机共享缓冲区如生产者-消费者中的缓冲区注意临界资源是互斥机制产生的原因。正是因为资源一次只能给一个进程用才需要同步与互斥机制来保证访问顺序的有序性。2.2 临界区Critical Section定义每个进程中访问临界资源的那段代码。进程P ┌─────────────────────┐ │ 非临界区代码 │ ├─────────────────────┤ │ 进入区申请资源 │ ← 临界区入口 │ 临界区访问资源 │ ← 核心 │ 退出区释放资源 │ ← 临界区出口 ├─────────────────────┤ │ 非临界区代码 │ └─────────────────────┘一个合格的临界区管理方案应满足以下四个原则原则说明忙则等待已有进程在临界区时其他进程必须等待空闲让进无进程在临界区时允许一个请求者进入有限等待任何进程不能无限等待必须保证在有限时间内能进入让权等待不能进入临界区的进程应释放CPU资源2.3 进程互斥Mutual Exclusion定义当多个进程竞争同一个临界资源时保证同一时刻只有一个进程进入临界区访问该资源。本质互斥解决的是多个进程争抢一个资源的问题“你用了我就不能用”。举例两个学生都想用同一台打印机系统必须保证同一时刻只有一个人在打印。任何人打印期间其他人必须等待。2.4 进程同步Synchronization定义多个进程在执行顺序上必须遵守某种先后次序一个进程必须等待另一个进程完成某件事后才能继续执行。本质同步解决的是进程间的协作顺序问题“你做完了我才能做”。举例生产者和消费者问题——消费者必须先等生产者生产出产品然后才能消费。这就是一种“先生产后消费”的顺序关系。3️⃣ 同步 vs 互斥重点区分对比项互斥同步本质竞争关系合作关系问题资源能否访问事件发生的顺序典型关系你给我滚开我要用你先完成我再开始涉及资源同一临界资源多个进程之间传递信号典型场景多进程争打印机生产者-消费者、前驱图关系互斥是特殊的同步。可以说互斥是解决“谁先用资源”的同步问题。4️⃣ 常见同步互斥问题的分类类型典型问题解决方案互斥问题多进程使用同一共享变量或I/O设备信号量PV操作互斥信号量同步问题生产者-消费者、读者-写者、哲学家进餐信号量PV操作同步信号量前驱关系作业A必须先于作业B执行前趋图 PV操作5️⃣ 经典例题例题1在操作系统中临界区是指 。A. 访问临界资源的程序段B. 进程执行过程中访问共享变量的程序段C. 进程执行过程中访问临界资源的程序段D. 进程执行过程中一次只能由一个进程访问的程序段解析临界区是访问临界资源的那段代码。选D注意是“访问临界资源的程序段”而不是任意共享变量。例题2以下关于进程同步与互斥的叙述中正确的是 。A. 互斥是同步的一种特殊形式B. 同步是互斥的一种特殊形式C. 互斥和同步没有任何关系D. 互斥和同步解决的是同一个问题解析互斥是“资源能否访问”的问题同步是“事件发生的顺序”问题。互斥可以看作是一种“谁先进入临界区”的同步。选A。6️⃣ 记忆口诀临界资源一次用临界区是访问段。互斥解决争资源同步协调执行序。同步互斥紧相连PV操作来管理。7️⃣ 小测验评论区对答案某系统中有一个临界资源两个进程P1和P2都要访问该资源。若P1正在访问该资源则P2此时 。A. 可以同时访问B. 必须等待直到P1释放资源C. 可以抢占P1的资源D. 可以访问该资源的另一部分本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅#软考中级 #软件设计师 #进程同步 #进程互斥 #临界区 #操作系统