1、进程

  狭义定义就是,进程是一段程序进行的过程。

  广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

2、进程间通信(IPC)

  进程间通信,指的是进程之间信息交换,所交换的信息量少则是一个状态或树枝,多则成千上万个字节。

方式分为两类:共享内存,消息机制。

共分为8种

1、共享内存:共享内存就是映射一段能被其他进程所访问的内存。这段内存由一个进程创建,但多个进程可以访问。共享内存是最快放的IPC方式,它是针对其他进程间通信方式效率低锁创建的。它往往与其他的通信机制来配合使用。来实现进程间的同步通信。

2、管道:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,通常指父子进程关系。

3、有名管道:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间通信。

4、高级管道:将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们称为高级管道方式。

5、信号量:信号量是一个技术器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同意进程内不同线程的同步手段。

6、消息队列:消息队列是由消息的链表存放在内核并有消息队列标识符标识。消息队列克服了信号传递信息量少,管道只能承载无格式字节流以及缓冲区太小受限。

7、信号:信号是一种比较复杂的通信方式,用于通知接受进程某个时间已发生。

8、套接字:套解口也是一种进程间通信机制,与其他通信机制不同的是,不可用于不同主机间的进程通信。

 

转载于:https://www.cnblogs.com/cxh1995/p/7797323.html

在操作系统中进程是如何通信的相关推荐

  1. 同一主机的多个子进程使用同一个套接字_在操作系统中进程是如何通信的

    这是我在毕业时校招阿里系公司时,终面的面试官问我印象最深的一道题,别问,问就是挂了.要是过了早就忘了 首先了解进程是什么 狭义定义就是,进程是一段程序进行的过程. 广义定义:进程是一个具有一定独立功能 ...

  2. linux六种进程状态,Linux操作系统中进程的七种状态

    Linux操作系统中进程的七种状态 发布时间:2018-05-07 20:43, 浏览次数:741 , 标签: Linux 1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进 ...

  3. 关于操作系统中进程、线程、死锁、同步、进程间通信(IPC)的超详细详解整理

    ​​​​​​​作者主页:https://www.zhihu.com/people/san-hao-bai-du-ren-79 一.什么是进程?什么是线程? 1.1 进程定义 1.2 线程定义 1.3 ...

  4. 操作系统-为什么进程之间的通信必须借助操作系统内核功能?

    原因 每个进程有自己独立地地址空间.在操作系统和硬件的地址保护机制下,进程无法访问其他进程的地址空间,所以必须借助于操作系统的系统调用函数实现进程之间的通信. 进程通信的主要方式 (1)共享内存区.通 ...

  5. 【操作系统】进程间的通信——管道

    进程间的通信-管道 管道 进程间的通信(IPC-Inter-Process Communication)有多种方式,管道是其中最基本的方式. 管道是半双工的,即是单向的. 管道是FIFO(先进先出)的 ...

  6. 操作系统中进程的五种状态与JAVA中线程的六种状态

    操作系统中的五种状态 新建:创建新的进程 就绪:进程已经获得除CPU时间片以外的任何资源,一旦获得cpu时间片就能立马执行. 执行:处于就绪队列中的进程获得了时间片运行进程. 阻塞:进程时间片用完进入 ...

  7. linux进程僵停状态,Linux操作系统中进程的七种状态

    1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里:(2)S睡眠状态(sleeping):进程在等待事件完成:(浅度睡眠,可以被唤醒)(3) ...

  8. Linux操作系统中进程的七种状态

    1 Linux中进程的七种状态 (1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里: (2)S睡眠状态(sleeping):进程在等待事件完成:(浅度睡眠,可以被唤醒) ...

  9. VC++中进程间相互通信的十一种方法

    进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是 操作系统用来管理进程的内核对象.内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL ...

  10. 操作系统中进程的五种基本状态及其转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/cafucwxy/article/det ...

最新文章

  1. 嵌入式BootLoader技术内幕(三)
  2. 【Win 10 应用开发】获取本机的IP地址
  3. 29、Power Query-分支语句的进阶
  4. android+java.lang.VerifyError
  5. Zookeeper 的 5 大核心知识点!
  6. TCP和IP协议的特点
  7. HDU 5157(回文树)
  8. html数字增加动态效果,jQuery实现数字自动增加或者减少的动画效果示例_泠吢_前端开发者...
  9. windows下安装qt4.7,编译hello QT 成功。
  10. 不忽略空值null的聚合函数_sqlzoo 练习题答案 聚合函数 和 空值 部分
  11. kettle-查询控件
  12. 实例 20 重定向输出流实现程序日志
  13. ios开发学习--选项卡(Tab Bar) 效果源码分享--系列教程
  14. 【图像去噪】基于matlab邻域的自适应小波阈值图像去噪【含Matlab源码 1188期】
  15. iptables的备份
  16. VSTO word操作
  17. spring boot  mybatis 事务回滚
  18. Glide原生方法加载圆形图片
  19. Python中利用pygame做弹球游戏
  20. GSAP教程之Tween详解

热门文章

  1. winsock错误一览表
  2. 添加Copy To和Move To 到系统右键菜单中(Vista 也适用)
  3. readResolve()原理
  4. Windows系统后台运行java程序(关闭命令行窗口执行)
  5. C# winform 弹出输入框
  6. mybatis传参总结
  7. LW_OOPC介绍(转载)
  8. 09. 利用destructors避免泄漏资源
  9. 排序算法之四 归并排序(C++版本)
  10. 寻找中项和第k小元素c语言,寻找一个序列中第k小的元素——分治法