操作系统:进程通信(IPC)

  • 进程通信:进程间的信息交换。

    • 进程是分配系统资源的单位,因此各进程拥有的内存地址空间相互独立。
    • 为了保证安全,一个进程不能直接访问另一个进程的地址空间。
    • 为了保证进程间的安全通信,操作系统提供了一些方法。
  • 管道
    • 管道:指用于连接读写进程的一个共享文件,又名pipe文件。其实就是在内存中开辟的一个大小固定的缓冲区。
  • 命名管道(FIFO)
    • 它是一种文件类型。
    • FIFO可以在无关进程之间交换数据。
    • FIFO以一种特殊设备文件形式存在于文件系统中。
    • FIFO的通信方式类似于在进程中使用文件来传输数据,只不过FIFO类型文件同时具有管道的特性。再读数据时,FIFO管道中同时清楚数据,并且先进先出。
  • 消息队列
    • 消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符来标识。
    • 进程间的数据交换以格式化的消息(Message)为单位。进程通过操作系统提供的“发送/接收消息”两个原语进行数据交换。
  • 共享内存

原文地址:https://www.cnblogs.com/xiaobaizzz/p/12285577.html

时间: 2024-10-13 22:36:20

操作系统:进程通信(IPC)的相关文章

linux应用程序开发-进程通信(IPC)

IPC why: 1.数据传输 2.资源共享 目的: 3.通知事件 4.进程控制 发展: 1.UNIX进程间通信 2.基于SYStem V 3.POSIX 方式分类: 1.pipe(管道) FIFO(有名管道) 2.signal 3.消息队列 4.共享内存 5.信号量 6.套接字(socket) 管道通信:单向,先进先出 创建 pipe:父子之间通讯 FIFO:任意 创建: int pipe(int filedis[2]); 管道创建时,产生两个文件描述符:filedis[0]读管道,filed

linux各种IPC机制(进程通信)

linux各种IPC机制 (2011-07-08 16:58:35)     原文地址:linux各种IPC机制(转)作者:jianpengliu 原帖发表在IBM的developerworks网站上,是一个系列的文章,作者郑彦兴,通过讲解和例子演示了Linux中几种IPC的使用方式,我觉得很好,在这里做一个保留,能看完的话Linux IPC的基础是没有问题的了.一)Linux环境进程间通信(一)管道及有名管道http://www.ibm.com/developerworks/cn/linux/

IPC进程通信

这两天学习的东西有点多,感觉完全应付不过来了 ,一直在消化这几天学习的东西所以2号.3号.4号的学习内容没有及时总结,在此表示深深的愧疚,今天把这些天学习的知识点汇总一下. 主要学习了IPC进程间通信,目前我所理解的IPC主要包括管道.共享内存.信号量. 总结IPC前先复习一下多进程: 一.进程创建: 1.system函数 通过调用shell程序/bin/sh –c来执行string所指定的命令,该函数在内部是通过调用execve("/bin/sh",..)函数来实现的.通过syste

Android 之 IPC 进程通信全解析

Android 之 IPC 进程通信全解析 本篇博客的框架 什么是IPC IPC(Inter-Process Communication) 进程间通信,是指两个不同进程之间数据交换的过程. 在明确其之前,需要先搞懂几个概念: 线程:CPU可调度的最小单位,是程序执行流的最小单元:线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源. 进程: 一个执行单元,在PC 和移动设备上一

Linux操作系统 进程之间的通信

进程之间的通信 预备知识: 1.用户态和内核态,当一个进程在执行用户自己的代码时处于用户运行态(用户态):当一个进程因为系统调用陷入内核代码中执行时处于内核运行态(内核态). 2.进程之间的通信(Inter Processs Communication-IPC)实现机制有:管道.消息队列.信号值.信号.共享内存.共享映射文件.套接字等. 3.及时通信:信号(类似中断):非及时通信:共享内存.邮箱.管道.套接字. 4.常见的信号:终止信号.定时器信号.用户自定义信号等 5.信号:用户.系统或者进程

操作系统 进程间的通信 之 信号 消息队列 共享内存 浅析

[几个易混淆的相关概念] 进程互斥:指在多道程序环境下,每次只允许一个进程对临界资源进行访问. 进程同步:指多个相关进程在执行次序上的协调. 临界资源:在一段时间内只允许一个进程访问的资源. 临界区:每个进程中访问临界资源的那段代码. [进程通信] 现在常用的进程间通信方式有信号.信号量.消息队列.共享内存.通信,是一个广义的意义,不仅仅指传递一些 message.进程通信就是指不同进程之间进程数据共享和数据交换. [信号和信号量] 信号和信号量是不同的,他们虽然都可用来实现同步和互斥,但信号是

[操作系统实验]使用命名通道实现进程通信

实验目的和要求 了解windows系统环境下的进程通信机制 熟悉windows系统提供的进程通信API 完成两个进程之间的通信,需要建立两个工程文件,在Microsoft Visual C++ 6. 0环境下建立服务器工程文件PipeServer和客户端工程文件PipeClient.在服务器程序中,首先使用CreateNamedPipe()创建-一个命名管道,之后使用ConnectNamedPipe()连接命名管道,如果命名管道连接成功,可以使用读文件函数ReadFile()从命名管道中读数据,

Linux间的进程通信;以及子进程的创建

1 "-----第六天-----------------------------------------------------------------------------" 2 3 1.版本控制:svn/git; 4 5 2.进程的概念: 6 1)程序和进程: 7 每个进程操作系统会为它分配 0-4G 的虚拟内存空间(32位操作系统): 其中0-3G为用户内存空间,进程可以对它进行读写操作: 3G - 4G 为系统内核空间,进程没有读写权限. 8 进程只能读写用户空间,没有权限读

Linux系统编程@进程通信(一)

进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统的一个分支) POSIX进程间通信(POSIX:可移植操作系统接口,为了提高UNIX环境下应用程序的可移植性.很多其他系统也支持POSIX标准(如:DEC OpenVMS和Windows).) 现在Linux使用的进程间通信方式包括: 管道(pipe).有名管道(FIFO) 信号(signal) 消