-
操作系统05-并发与同步
- PV不可用于共享操作。
- 进程间的相互制约关系如下:
- 相互感知程度交互关系一个进程对其他进程的影响 潜在的控制问题。
- 相互不感知(完全了解其他进程的存在)竞争关系 一个进程的操作对其他进程的结果互斥、死锁(可释放资源)饥饿。
- 间接感知-双方与第三方交互,通过共享进行协作这种交置关系潜在的控制问题是进程互斥、死锁、饥饿和数据一致性,
- 真接感知-双方与第三方交互,双方真接交互,如通信)通过通信进行协作,一个进程的结果依赖于从其他进程获得的信息。

- ,为了保证计算机中临界资源的正确使用,进程在对临界资源访问前,必须码首先调用进入区(p),然后执临界区代码,最后执行退出区(V)代码。
- 一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。局部于管程的数据结构,只能被局部于管程的过程所访问,任何管程之外的过程都不能访问它;反部于管程的过程也只能访问管程内的数据结构。由此可见,所有进程要访问临界资源时,都必须经过管程才能进入,而管程每次只允许一个进程进入管程,从而实现了进程的互斥。
- 共享内存(shared memory)是 Un下的多进程之间的通信方法,这种方法通常用于一个程序的多进程间通言,实际上多个程序间也可以通过共享内存,不需要多份内容的拷贝来传递信息,特点是可以高效的共享大量信息。
- 生产者往缓冲区放产品前要先使用P操作确保缓冲区有空闲槽,即信号量表示的资源还有空闲。
- 信息传弟直接发送消息给一个进程,消息采用内存中若干公共缓冲区组织成队列,依赖进程或基础框架来调用实际执行的代码。
- 共享内存即共享缓冲区方式进行通信,缓冲区数目不为1时可同步或异步;消息机制是指进程间通过相互发送消息进行通信,可同步或异步,套接字是一组进程间交换数据的协议,可以是异步或同步,管道通信,是一方进程发送另方只能接收,此方式只为同步。
- 消息缓冲通信机制包括:消息缓冲区、消息队列首地址、同步互斥信号量、发送接收消息原语
- 管道”发送进程创建好连接两个进程的一个打开的共享文件,然后写入数据流,接收进程在需要时可以从该共享文件读出数据,写入和读出数据的长度是可变的
-
相关阅读:
vue - vue基础/vue核心内容(2)
Request&Response
有向图的邻接表和邻接矩阵
学习MySQL的第一天:MySQL概述(基础篇)
最优孤岛划分下含分布式电源配电网可靠性评估(Matlab代码实现)
IDEA转换编码格式
ArcGIS Pro 3.0最新消息
Python接口自动化核心模块 - 数据库操作和日志
Python学习笔记第五天(Number)
linux系统-umask详解
-
原文地址:https://blog.csdn.net/lovemelovefish/article/details/132956455