导图社区 第四章-进程同步
这是一个关于第四章-进程同步的思维导图,进程同步是操作系统中的一种机制,用于协调多个进程之间的执行顺序和资源访问顺序,以避免出现竞争条件和死锁等问题。
这是一个关于第八章-文件管理的思维导图,文件管理是操作系统中一个重要的组成部分,主要负责管理和维护计算机中的文件。
这是一个关于第七章-输入输出系统的思维导图,输入输出系统是计算机中负责处理输入和输出设备的部分,它涉及到如何接收外部信息、如何处理外部信息以及如何将处理结果输出到外部设备。
这是一个关于第六章-虚拟存储器的思维导图,虚拟存储器是一种重要的内存管理技术,它可以扩大程序的寻址空间,提高内存利用率,并实现内存的动态分配。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
第四章-进程同步
进程同步的基本概念
两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥
每个进程中访问临界资源的那段代码为临界区
我们把异步环境下的一组并发进程因直接制约而互相发送消息、互相会作、互相等待,使得各进程按一定的速度执行的过程,称为进程同步。
间接相互制约关系(互斥关系) 直接相互制约关系(同步关系)
同步准则
空闲让进 忙则等待 有限等待 让权等待
软件同步机制
硬件同步机制
信号量机制
信号量的定义
记录一些信息(量),并根据这个信息决定block和wakeup(信号)。
信号量的物理意义
表示可供并发进程使用的资源数-S>0。 表示因缺资源而自我阻塞的进程数-S<=0。
信号量的原语
>wait(S)操作(即P原语)的含义:申请一个资源
wait(semaphore s) { s.value--; if(s.value <0) { block(s.queue); }
>signal(S)操作(即V原语)的含义:释放一个资源
signal (semaphore s) s.value++; if(s.value <=0) { wakeup (s.queue); }
信号量的应用
利用信号量实现进程互斥 利用信号量实现进程同步
管理机制
经典的进程同步问题
4.6.1 生产者-消费者问题
4.6.2哲学家进餐问题
4.6.3读者-写者问题
Linux进程同步机制