操作系统原理读书笔记之进程间通信IPC
来源:互联网 发布:国家电影专项资金算法 编辑:程序博客网 时间:2024/06/06 05:10
基本通信方式
- 消息传递
- 共享内存
- 管道PIPE
- 套接字socket
- 远程过程调用
套接字和远程过程调用属于分布式系统采用的方式,这里只介绍前三种方式
消息传递
- 发送进程调用send原语send(destination, message)
- 陷入内核,操作系统复制消息到消息缓冲区
- 操作系统唤醒接收进程,将消息缓冲区内容挂到接收进程的消息队列指针
- 接收进程读取消息队列内容,调用receive(source, message)
- 陷入内核,操作系统将消息复制到message变量中
send和receive操作可以用PV操作实现
send(destination, message){ P(buf-empty);//申请空缓冲区 //取缓冲区,要求互斥 //把缓冲区挂到接收进程的消息队列,要求互斥 V(buf-full);//唤醒接受进程}
共享内存
在物理内存中开辟一块共享内存区,将此映射到进程A和B中,AB进程对该区域的访问加读写锁解决互斥问题
这里有点类似于JAVA虚拟机线程间共享内存模型,每个线程有自己的虚拟内存空间,不断从主内存刷新、回写数据
管道通信方式PIPE
利用缓冲传输介质,例如一段内存空间、一个文件连接两个相互通信的进程,读写进程需要自行判断管道中是否数据满或是否数据空
linux内核同步机制
linux内核有以下同步机制:原子操作、自旋锁、读写自旋锁、信号量、读写信号量、互斥体、完成变量、顺序锁、屏障等
屏障也叫栅栏、关卡,对一组线程进行协调,例如需要一组线程协同完成一项任务,需要所有线程都到达一个汇合点后再往下运行
0 0
- 操作系统原理读书笔记之进程间通信IPC
- 进程间通信之:IPC
- 《现代操作系统》读书笔记之——进程间通信1
- 《现代操作系统》读书笔记之——进程间通信2
- 《现代操作系统》读书笔记之——进程间通信3
- 《现代操作系统》读书笔记之——进程间通信
- IPC进程间通信原理分析
- 操作系统原理读书笔记之进程互斥
- 操作系统原理读书笔记之进程同步
- APUE读书笔记---进程间通信(IPC)之管道和有名管道(FIFO)
- APUE读书笔记---进程间通信(IPC)之共享内存区mmap
- 进程间通信(IPC)之管道
- android进程间通信(IPC)之AIDL
- 进程间通信IPC之--共享内存
- 进程间通信IPC之--共享内存
- 进程间通信IPC之--共享内存
- 进程间通信IPC之--共享内存
- Qt之进程间通信(IPC)
- cnn
- Java之多态
- caffe深度学习(二)finetune
- 一些看过的博客汇总
- [Laravel 5.3 新功能] 12. Mail 操作类 Laravel Mailable
- 操作系统原理读书笔记之进程间通信IPC
- 【精】这可能是最好的认识嵌入式linux的文章
- OpenCV参考手册之CvCapture结构体
- 图像处理3_使用 metadata-extractor 解析图片 exif 元数据信息
- c++第五次实验
- LUA中的and与or
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- ConcurrentHashmap源码分析(JDK1.8)
- 500G JAVA视频网盘分享 (JEECG开源社区)