0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

进程间的通讯方式

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-12-29 16:47 次阅读

1.管道模型通讯

管道模型与软件生命周期模型——瀑布模型(Waterfall Model)很相似。所谓的瀑布模型,其实就是将整个软件开发过程分成多个阶段,往往是上一个阶段完全做完,才将输出结果交给下一个阶段。从管道的这个名称可以看出来,管道是一种单向传输数据的机制,它其实是一段缓存,里面的数据只能从一端写入,从另一端读出。如果想互相通信,我们需要创建两个管道才行。

管道又可以分为:匿名管道和命名管道。

poYBAGOtUwKAQ0zfAAA46IVlUJE936.png

一方面,我们能够看到,管道里面的内容被读取出来,打印到了终端上;另一方面,echo 那个命令正常退出了,也即交接完毕,前一个项目组就完成了使命,可以解散了。管道通信,我们可以看出,瀑布模型的开发流程效率比较低下,因为团队之间无法频繁地沟通。而且,管道的使用模式,也不适合进程间频繁的交换数据。

2.消息队列

消息队列可以理解为发邮件,每一封邮件都视为一个独立的数据单元,也就是消息体,每个消息体都是固定大小的存储块,在字节流上不连续。

poYBAGOtU0mAPppJAADVUcI8zGk703.png

3.共享内存

每个进程都有自己独立的虚拟内存空间,不同的进程的虚拟内存空间映射到不同的物理内存中去。这个进程访问 A 地址和另一个进程访问 A 地址,其实访问的是不同的物理内存地址,对于数据的增删查改互不影响。

poYBAGOtU4KAa7EAAAE7rjuHG64344.png

4.信号

信号可以在任何时候发送给某一进程,进程需要为这个信号配置信号处理函数。当某个信号发生的时候,就默认执行这个函数就可以了。这就相当于咱们运维一个系统应急手册,当遇到什么情况,做什么事情,都事先准备好,出了事情照着做就可以了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19100

    浏览量

    304652
  • 进程
    +关注

    关注

    0

    文章

    203

    浏览量

    13958
  • 通讯方式
    +关注

    关注

    0

    文章

    9

    浏览量

    2164
收藏 人收藏

    评论

    相关推荐

    深入解析Linux程序与进程

    什么是程序 一组计算机能识别和执行的指令,用于指导计算机执行特定任务或解决特定问题。程序通常由代码、数据和资源文件组成,涉及语法、算法和数据结构。为二进制文件 什么是进程 是一个具有独立功能的程序
    的头像 发表于 12-18 11:01 46次阅读
    深入解析Linux程序与<b class='flag-5'>进程</b>

    机智云智能家居网关方案的组网方式通讯协议解析

    组网方式通讯协议在智能家居领域,组网方式通讯协议的选择至关重要,它们直接影响到设备和网关之间的互通。机智云作为智能家居领域的领先企业,采用了多种组网
    的头像 发表于 11-23 01:02 323次阅读
    机智云智能家居网关方案的组网<b class='flag-5'>方式</b>与<b class='flag-5'>通讯</b>协议解析

    深入Linux进程管理:提升效率与稳定性的关键方法

    基本概述 2.进程状态 3.进程优先级 4.进程命令 5. 控制作业 6.进程通信 7.使用信号控制
    的头像 发表于 11-22 11:05 193次阅读
    深入Linux<b class='flag-5'>进程</b>管理:提升效率与稳定性的关键方法

    一文搞懂Linux进程的睡眠和唤醒

    一、常见的进程状态与理解 在操作系统内部,有专门用来管理进程的结构体,叫做struct task_struct,也称作进程控制块(PCB),主要包含描述进程的相关信息,如
    发表于 11-04 15:15

    Python中多线程和多进程的区别

    Python作为一种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之一。在本文中,我们将探讨Python中多线程与多进程的概念、区别以及如何使用线程池与
    的头像 发表于 10-23 11:48 383次阅读
    Python中多线程和多<b class='flag-5'>进程</b>的区别

    PLC多种通讯方式汇总学习~

    PLC的通讯功能是其连接设备、控制系统和外部系统的重要组成部分。PLC支持多种通讯方式,本文将讲述PLC常见的通讯方式及其优缺点,别再傻傻分
    的头像 发表于 09-25 09:09 293次阅读
    PLC多种<b class='flag-5'>通讯</b><b class='flag-5'>方式</b>汇总学习~

    三菱PLC有哪些通讯方式

    随着工业自动化技术的快速发展,PLC(可编程逻辑控制器)作为工业自动化系统的核心控制设备,其通讯方式的多样性和高效性对于整个系统的运行效率起着至关重要的作用。三菱PLC作为市场上的知名品牌,凭借其
    的头像 发表于 06-17 17:04 2596次阅读

    鸿蒙开发:【进程模型】

    应用中(同一Bundle名称)的所有UIAbility、ServiceExtensionAbility和DataShareExtensionAbility均是运行在同一个独立进程(主进程)中,如下图中绿色部分的“Main Process”。
    的头像 发表于 06-13 09:53 273次阅读
    鸿蒙开发:【<b class='flag-5'>进程</b>模型】

    上位机与下位机之间的通讯方式

    设备状态,执行具体任务。两者之间的通讯不仅涉及到数据的传输,还关系到命令的执行和反馈的收集。本文将深入探讨上位机与下位机之间的通讯方式,以期为相关领域的技术人员提供参考。
    的头像 发表于 06-06 11:23 4064次阅读

    逆变电源通讯方式大全,支持加密功能

    逆变器作为电站的核心部件,在不同应用场景下的通讯方式应该如何选择和应用呢?逆变器的通讯方式和应用场景2.14G通讯通讯
    的头像 发表于 05-08 11:47 711次阅读
    逆变电源<b class='flag-5'>通讯</b><b class='flag-5'>方式</b>大全,支持加密功能

    进程通信的消息队列介绍

    消息队列是一种非常常见的进程通信方式
    的头像 发表于 04-08 17:27 305次阅读

    线程是什么的基本单位 进程与线程的本质区别

    的代码、数据以及用于执行这些代码的上下文信息。一个进程可以由一个或多个线程组成,从而并发执行多个任务。 本质区别: 资源拥有方式进程是资源分配的基本单位,每个进程拥有独立的内存空间、
    的头像 发表于 02-02 16:30 917次阅读

    浅谈Linux的进程

    进程和程序的区别: 进程是动态的,程序是静态的 一、进程的创建(fork()函数) int main(){ pid_t pid; pid=fork(); if(pid     >0
    的头像 发表于 01-28 15:54 255次阅读
    浅谈Linux的<b class='flag-5'>进程</b>

    什么是LoRa MESH?LoRa MESH技术通讯方式

    什么是LoRa MESH?LoRa MESH技术通讯方式  LoRa MESH是一种基于LoRa技术的无线通信网络,它利用低功耗广域网(LPWAN)技术实现广域传输和全覆盖的物联网应用。LoRa
    的头像 发表于 01-22 16:10 1938次阅读

    mcu线程和进程的区别是什么

    MCU线程和进程是嵌入式系统中常见的并行执行的概念,它们之间有许多区别,包括线程与进程的定义、资源管理、通信机制、执行方式等等。下面将详细介绍MCU线程和进程的区别。 一、定义与概念
    的头像 发表于 01-04 10:45 740次阅读