架 软考架构师知识库 系统架构设计师 · 课件全文检索
已就绪 127 份课件 1966 页

同步与互斥

第三章-操作系统基础 · 6 页 · 904 字 录播 讲义

同步与互斥

项目 内容
来源 录播
章节 第三章-操作系统基础
标签 讲义
页数 6
总字数 904
原始课件 基础录播课/第三章-操作系统基础/同步与互斥.pdf

本文由课件自动整理,页内文字按原始讲义阅读顺序还原;[图] 表示该位置存在图示,

图示内容请对照原始课件查看。


目录


第 1 页 · N E W P L A N

软考高级架构师

一

段

新

征

程

第 2 页 · [图]

提示:本页以图示为主,下列文本为图中标注文字。

大纲介绍

第 3 页 · 进程管理-同步与互斥

互斥:指多个进程只能互斥地访问某个资源(即临界资源),即只有一个进程可以访问该资源,其他进程必须

等待。互斥可以防止多个进程同时访问同一个资源,从而避免数据损坏和程序崩溃。如打印机、公共厕所。

临界资源:各进程间需要以互斥方式对其进行访问的资源。

互斥信号量:对临界资源采用互斥访问,实现进程的互斥,使用互斥信号量后其他进程无法访问,其值只能

为0或1。比如厕所的门锁有两个状态:打开和关闭。当门锁打开时,表示厕所空闲,可以进入。当门锁关

闭时,表示厕所有人使用,其他人需要等待。门锁就像是互斥信号量,它表示厕所的使用状态。人就像是进

程,他们需要获取门锁才能使用厕所。

同步:指多个进程之间互相协调,以确保它们按照一定的顺序执行。同步可以防止进程之间出现竞争和冲突,

从而提高程序的正确性和效率;比如多个人一起做某件事情

同步信号量:是一种用于实现进程同步的工具。它是一个共享变量,可以用来表示资源的数量。比如餐厅里

的餐桌数量有限,当顾客来吃饭时,如果餐桌空闲,则可以直接坐下。如果餐桌都满了,则顾客需要等待,

餐桌就像是同步信号量,它表示餐桌的数量。顾客就像是进程,他们需要获取餐桌才能吃饭。

第 4 页 · 进程管理-信号量

P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态

(因为无可用资源),并将其插入阻塞队列。

V操作:释放资源,S=S+1,若S>0,代表此时资源有空余,没有阻塞的进程,则该进程继续执行;若

S<=0,代表此时线程在被阻塞,所以需要从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺

少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

[图]

第 5 页 · 进程管理-生产者和消费者

经典问题:生产者和消费者的问题

三个信号量:互斥信号量S0(仓库独立使用权),同步信号量S1(仓库空闲位置),同步信号量S2(仓库商

品个数)。

生产者流程:

消费者流程:

生产一个商品S

P(S0)

P(S0)

P(S2)

P(S1)

取出一个商品

将商品放入仓库中

V(S1)

V(S2)

V(S0)

V(S0)

第 6 页 · T H E E N D

功不唐捐,玉汝于成!

开

启

新

征

程