ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

处理机管理——进程通信

2022-04-18 23:32:00  阅读:136  来源: 互联网

标签:处理机 通信 互斥 管道 消息 进程 共享



进程通信:指进程之间的信息交换
进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一个进程的地址空间。但是进程之间的信息交换又是必须实现的。

共享存储:
两个进程对共享空间的访问必须是互斥的(互斥访问通过操作系统提供的工具实现)。操作系统只负责提供共享空间和同步互斥工具(如P、V操作)
基于数据结构的共享:比如共享空间里只能放一个长度为10的数组。这种共享方式速度慢、限制多,是一种低级通信方式。
基于存储区的共享:在内存中画出一块共享存储区,数据的形式、存放位置都由进程控制,而不是操作系统。这种共享方式速度更快,是一种高级通信方式。

管道通信:
“管道”是指在内存中开辟一个大小固定的缓冲区用于连接读写进程的一个共享文件
1.管道只能采用半双工通信,某一时间段内只能实现单向的传输。如果要实现双向同时通信,则需要设置两个管道。
2.各进程要互斥地访问管道。
3.数据以字符流的形式与入管道,当管道写满时,写进程的write()系统调用将被阳塞,等待读进程将数据取。当读进程将数据全部取走后,管道变空,此时读进程的read()系统调用将被咀塞。
4.如果没写满,就不允许读。如果没读空,就不允许写。
5.数据一旦被读出,就从管道中被抛弃,这就意味着读进程最多只能有一个,否则可能会有读错数据的情况。

消息传递:
进程间的数据交换以格式化的消息(Message)为单位。进程通过操作系统提供的“发送消息/接收消息”两个原语进行数据交换。
消息头包括:发送进程ID、接受进程ID、消息类型、消息长度等格式化的信息(计算机网络中发送的“报文”其实就是一种格式化的消息)
直接通信方式:消息直接挂到接收进程的消息缓冲队列上
间接通信方式:消息要先发送到中间实体(信箱)中,因此也称“信箱通信方式"。Eg:计网中的电子邮件系统



标签:处理机,通信,互斥,管道,消息,进程,共享
来源: https://www.cnblogs.com/LXZYZDCZL/p/16163380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有