精华内容
下载资源
问答
  • 通信方式
    千次阅读
    2021-06-18 01:36:55

    对于点对点之间的通信,按照消息传送的方向与时间关系,通信方式可分为单工通信、半双工通信及全双工通信三种。

    中文名

    通信方式

    外文名

    Communication学    科

    领    域

    工程技术

    通信方式单工通信

    编辑

    语音

    单工通信(Simplex Communication)是指消息只能单方向传输的工作方式。

    在单工通信中,通信的信道是单向的,发送端与接收端也是固定的,即发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息。基于这种情况,数据信号从一端传送到另外一端,信号流是单方向的。

    例如:生活中的广播就是一种单工通信的工作方式。广播站是发送端,听众是接收端。广播站向听众发送信息,听众接收获取信息。广播站不能作为接收端获取到听众的信息,听众也无法作为发送端向广播站发送信号。

    通信双方采用“按——讲”(Push To Talk,PTT)单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信[1]

    通信方式半双工通信

    编辑

    语音

    半双工通信(Half-duplex Communication)可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。

    在这种工作方式下,发送端可以转变为接收端;相应地,接收端也可以转变为发送端。但是在同一个时刻,信息只能在一个方向上传输。因此,也可以将半双工通信理解为一种切换方向的单工通信。

    例如:对讲机是日常生活中最为常见的一种半双工通信方式,手持对讲机的双方可以互相通信,但在同一个时刻,只能由一方在讲话。

    通信方式全双工通信

    编辑

    语音

    全双工通信(Full duplex Communication)是指在通信的任意时刻,线路上存在A到B和B到A的双向信号传输。 全双工通信允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。(可能还需要控制线和状态线,以及地线)。

    理论上,全双工传输可以提高网络效率,但是实际上仍是配合其他相关设备才有用。例如必须选用双绞线的网络缆线才可以全双工传输,而且中间所接的集线器(HUB),也要能全双工传输;最后,所采用的网络操作系统也得支持全双工作业,如此才能真正发挥全双工传输的威力。

    例如:计算机主机用串行接口连接显示终端,而显示终端带有键盘。这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示。通常,往键盘上打入1个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来。这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式[2]

    通信方式现代通信方式

    编辑

    语音

    邮递

    以实物传递为基础,虽然如今写信的人越来越少,但越简单越真实,越纯朴越真情,信件是信息传递最简单最纯朴的方式,更不因传递速度过快造成信息的溢漏;快递是人类社会发展的的需要,主要原因是因为随着人类物质生活水平的提高服务需求面也越来越高,但其发展受交通运输制约无便利的交通运输怎么也快不起来。

    电话

    电话分固定电话、移动电话与网络电话,其传递方式与网络方式优缺点基本相同,与网络方式不同之处在于电话不能直接传递文字图片,与邮递方式不同在于不能传递实物。

    传真

    传真是近二十多年发展最快的非话电信业务。将文字、图表、相片等记录在纸面上的静止图像,通过扫描和光电变换,变成电信号,经各类信道传送到目的地,在接收端通过一系列逆变换过程,获得与发送原稿相似记录副本的通信方式,称为传真。

    传真的主要技术有:扫描技术,记录技术,同步同相技术,传输技术。传真的通信过程包含扫描,光电变换,图像信号的传输,记录变换,收信扫描和同步同相。

    传真是基于PSTN的电信信号通过设备中转传真信号。直接由于科技大迅速发展,电子网络传真逐渐成为取代传真机的新一代通信工具。

    卫星电话

    基于卫星通信系统来传输信息的电话就是卫星电话。卫星电话是现代移动通信的产物,其主要功能是填补现有通信(有线通信、无线通信)终端无法覆盖的区域,为人们的工作提供更为健全的服务。现代通信中,卫星通信是无法被其他通信方式所替代的,现有常用通信所提供的所有通信功能,均已在卫星通信中得到应用。

    电报

    电报,就是用电信号传递的文字信息。通讯越来越迅捷,电报的作用已经不是很大了,也许有一天电报就会从我们的生活中消失了。

    电报是通信业务的一种,是最早使用电进行通信的方法。它利用电流(有线)或电磁波(无线)作载体,通过编码和相应的电处理技术实现人类远距离传输与交换信息的通信方式。

    电报大大加快了消息的流通,是工业社会的其中一项重要发明。早期的电报只能在陆地上通讯,后来使用了海底电缆,开展了越洋服务。到了二十世纪初,开始使用无线电拍发电报,电报业务基本上已能抵达地球上大部份地区。电报主要是用作传递文字讯息,使用电报技术用作传送图片称为传真。

    数据通信

    计算机网络中传输的信息都是数字数据,计算机之间的通信就是数据通信方式,数据通信是计算机和通信线路结合的通信方式。在数据通信中,按每次传送的数据位数,通信方式可分为:并行通信和串行通信。

    并行通信是一次同时传送8位二进制数据,从发送端到接收端需要8根传输线。并行方式主要用于近距离通信,如在计算机内部的数据通信通常以并行方式进行。这种方式的优点是传输速度快,处理简单。

    串行通信一次只传送一位二进制的数据,从发送端到接收端只需要一根传输线。串行方式虽然传输率低,但适合于远距离传输,在网络中(如公用电话系统)普遍采用串行通信方式[3]

    通信方式优缺点

    编辑

    语音

    电网所采用的通信方式分为几种,分别为:光纤通信,普通微波通信,电力线载波通信,有线音频电缆通信,特高频无线电台通信,无线扩频通信方式。

    1、光纤通信其最大的特点是通信容量大,速率高,在一根光纤中能传播几百甚至上千路电话,可传实时图像,而且抗电磁干扰性好,通信质量高,使用持续时间长。但成本高,尤其远距离架设施工价格昂贵而且受地形限制。

    2、普通微波通信是一种无线通讯方式,传输容量大,质量高,配置灵活,电力系统220kv以上变电站普遍采用,这种通信方式对环境要求较高,另外,一个普通微波通信网的建设需要现场勘测和设计,故总的建设费用也很高。

    3、电力线载波通信方式比较普遍,最大的优点是不用专门架设通信线路,电力延伸到哪里,通信就可以到那里,投资不算大,但它的缺点,首先可靠性差,第二,通信容量小,这就造成了语音通话质量差,数据传输率低,而且从变电所到调度的通信还需架设音频电缆解决。

    4、有线音频电缆通信被广泛采用,在距离较近时是一种较好的通信方式,它的通信通道是一种模拟信道,因此在进行数据通信时,需增加调制解调器,它抗干扰性差,且易遭雷击,长距离通信时,需要的线径较粗,造价较高。一般不用来组成较大的通信网而只在局部使用。

    5、特高频无线电台通信传输距离远,使用方便,设备价格低,便于维护。但要满足无人值班变电所的通信要求是远远不够的,它抗干扰性能力差。通信不稳定,通信指标也很低 ,它是一种模拟通道,传输数据的速率小于300it/s,只能作为一种辅助的通信手段。

    6、无线扩频通信方式是扩展频谱通信技术,是一种数字化通信技术。扩频信号的发射功率低,对电磁环境影响小,而传输数据率却很高,另外扩频借手机的门限信噪比较低,可在负信噪比下正常工作。扩频通信抗同频干扰性能好,对所有载波频率相同,进入接收机的外来干扰信号,接收机对他们都有抑制能力,并且它具有良好的抗衰落性能。一般无线电信号传播时,衰落是有选择性的,而扩频通信中将信号功率扩展到很宽的带宽中,不会对接受产生太大影响。

    故当前通信方式多种多样,在选择通信方式时应将各种方式的优点最大化从而达到节约成本实现通信目的[2]

    词条图册

    更多图册

    参考资料

    1.

    王中训, 徐超, 王德法. 基于VC++6.0的多串口通信方法[J]. 计算机应用, 2008, 28(s1):254-256.

    2.

    许建德, 陆以群. 新型数字电流差动保护装置中的数据采样同步和通信方式[J]. 电力系统自动化, 1993(4):23-26.

    3.

    王汝传, 姚旭敏, 王海艳, et al. 基于Java和VRML虚拟场景通信方式的研究[J]. 系统仿真学报, 2003, 15(7):986-990.

    更多相关内容
  • CC-Link的通信方式可分为2种:循环通信和瞬时传送。循环通信意味着不停地进行数据交换。各种类型的数据交换即远程输人RX,远程输出RY和远程寄存器RWr、RWw。一个从站可传递的数据容量依赖于所占据的虚拟站数。占据...
  •  IIC和SPI多用在芯片级近距离通讯 IIC和SPI是应用非常广泛的通讯方式,主要用在芯片级进行短距离通信,如EEPROM存储芯片AT24C02就是IIC通讯的。这两种只适合长度为cm级别的通信。IIC具有两根总线,分别为SDA和SCL...
  • 各类通讯协议及通讯方式详细介绍
  • 常见通讯方式比较

    2021-04-11 23:35:36
    概念:几种常见的通讯方式 通信类别 I2C SPI Uart Modbus RS485 通信类型 串行传输 串行传输 异步串行...

    概念:几种常见的通讯方式

    通信类别

    I2C

    SPI

    Uart

    Modbus

    RS485

    通信类型

    串行传输

    串行传输

    异步串行口

     

    串行传输

    传输方式

    单工

    全双工

    全双工

    半双工

    半双工

    传输速度

    I2C协议v2.1规定了100K,400K和3.4M三种速率(bps)

    速度比I2C快,无具体规定看实际应用

    速度最慢

     取决于模式

    10Mbps

    传输距离

    近距离,总线仲裁机制

     可靠传输距离一般是1~3m

    远距离(10m)

    近千米

    差分传输,抗共模干扰强(1219米)

    传输频率

    非经常性

     

     

    现场工业属性

    现场工业属性

    通信组成

    SDA(输入输出),SCL(输出口)。多主总线,SDA的地址选定从设备

    MISO(输出),MOSI(输入),SCLK,SDA

    CS片选

    RX  ,TX,GND

    第一个现场总线协议,支持多种的通讯接口

    逻辑0电压差为+2-6)逻辑1 -(2-6RS232低,容易与TTL兼容

    模块组成

    CLK高采样(MSB在前)

    沿采样,可以设置(全双工限定)(MSB在前)

    Uart发生器,Uart接收器

    (MSB在后,LSB在前)

    1.以太网,对应的通信模式是MODBUS TCP。 

     2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。     

     3.高速令牌传递网络,对应的通信模式是Modbus PLUS。

    实现多种模式的兼容

    主从通信模式

    组网模式

    从设备挂载模式(2^7=128),适用于近距离扳级之间通讯

     驱动能力有限,一般不超过10个

    从设备挂载模式,可增加选择线(一般为单点挂载)

     1~247设备,但是对阻抗匹配等考虑,一般32个即可,提高通讯速率

    32个点(多点挂载)

    缺点

     速度慢,适合电路板上通讯

    没有明确的流控制,我发确定收到数据,只是单纯的收发

      速度慢

     速度较慢

     如不支持星型和树型接线。需要屏蔽双绞线,单独穿管等

     

     

     

     

     

    展开全文
  • 数据通信方式有哪几种

    千次阅读 2021-06-27 01:24:05
    描述数字通信(digital telecommunications)是用数字信号作为载体来传输消息,或用数字信号对载波进行数字调制后再传输的通信方式。它可传输电报、数字数据等数字信号,也可传输经过数字化处理的语声和图像等模拟信号...

    描述

    数字通信(digital telecommunications)是用数字信号作为载体来传输消息,或用数字信号对载波进行数字调制后再传输的通信方式。它可传输电报、数字数据等数字信号,也可传输经过数字化处理的语声和图像等模拟信号。

    数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。要在两地间传输信息必须有传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信之分。但它们都是通过传输信道将数据终端与计算机联结起来,而使不同地点的数据终端实现软、硬件和信息资源的共享。

    五种基本的数据通信系统 脱机数据传输是简单地利用电话或类似的链路来传输数据,不包括计算机系统。这样一条链路两端所使用的设备不是计算机的部件,或至少不是立刻把数据提供给计算机处理,即数据在发送或接收时是脱机的。这种数据通信相对来说比较便宜和简单。 远程批处理一词适用于这样一种方法:采用数据通信技术来使数据的输入和输出在地理上远离按批处理模式处理处理它们的计算机。 联机数据收集指的是用数据通信技术来向计算机即时提供刚产生的输入数据这种方法。数据于是存储在计算机里(比如磁盘上),并按预定时间间隔或者根据需要进行处理。

    询问--应答系统,顾名思义,是为用户提供从计算机提取信息的功能。询问功能是被动的。也就是说,它不修改所存储的信息。提问可以很简单,例如:“检索雇员号码为1234的记录”也可以是复杂的。这类系统可能要使用能产生硬拷贝和(或)可视显示的终端。 实时系统是这样一类系统,其中计算机系统是在动态情况下取得和处理信息,以便可使计算机采取动作来影响正在发生的事件(比如在过程控制应用中)或者可通过存储在计算机里的准确且不断更新的信息来影响人(操作员),比如在预售系统中。

    1.数据通信原理--简介

    数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。它的通信方式是指通信的双方或多方之间的工作形式和信号传输的方式。如果要在两地间传输信息必须有传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信之分。但它们都是通过传输信道将数据终端与计算机联结起来,而使不同地点的数据终端实现软、硬件和信息资源的共享。

    2.数据通信原理--结构组成

    一个完整的数据通信系统,一般有以下几个部分组成:数据终端设备,通信控制器,通信信道,数据通信设备,如下图所示。

    ca216174897d84ccca6a6f3e7f02300e.png

    数据终端设备----英文名称为Data Terminal Equipment,简称DTE,即数据的生成者和使用者,它根据协议控制通信的功能。最常用的数据终端设备就是网络中的微机。

    通信控制器----它的功能除进行通信状态的连接、监控和拆除等操作外,还可接收来自多个数据终端设备的信息,并转换信息格式。

    通信信道----它是信息在数据通信设备之间传输的通道。如电话线路等模拟通信信道、专用数字通信信道、宽带电缆和光纤等。

    数据通信设备----英文名称为Data Communication Equipment,简称DCE,它的功能是把通信控制器提供的数据转换成适合通信信道要求的信号形式,最大限度地保证传输质量。

    3.数据通信原理--通信过程

    数据在通信线路上进行传输。通常来说,从源结点到目的结点之间的数据通信需要经过若干中间结点的转接。常用的交换技术有电路交换、报文交换和分组交换。下面以电路交换为例介绍其原理。

    电路交换的三个过程:

    (1)电路建立:在传输任何数据之前,要先经过呼叫过程建立一条端到端的电路。若H1站要与H3站连接,典型的做法是,A结点选择经B结点的电路,并告诉B它还要连接C结点;B再呼叫C,建立电路BC。最后,结点C完成到H3站的连接。这样A与C之间就有一条专用电路ABC。

    (2)数据传输:电路ABC建立以后,数据就可以从A发送到B,再由B交换到C;C也可以经B向A发送数据。在整个数据传输过程中,所建立的电路必须始终保持连接状态。

    (3)电路拆除:数据传输结束后,由某一方(A或C)发出拆除请求,然后逐节拆除到对方结点。

    4.数据通信原理--主要技术指标

    数据通信的主要技术指标是衡量数据传输的有效性和可靠性的参数。有效性主要由数据传输数据速率、调制速率、传输延迟、信道带宽和信道容量来衡量。常用的数据通信的技术指标有以下几种:

    (1)信道带宽:信道可以不失真地传输信号的频率范围。传输模拟信号时,单位为赫(HZ),传输数字信号时,单位为比特每秒,以位/秒(bit/s)表示,简记bps。

    (2)数据传输速率(bps):数据传输速率是指信道在单位时间内可以传输的最大比特数。 局域网的带宽一般为10Mbps、100Mbps、1000Mbps、而广域网的带宽一般为64Kbps、2Mbps、155Mbps、2.5Gbps等。

    (3)差错率/误码率:描述信道或者数据通信系统质量的一个指标。是指数据系统正常工作状态下信道上传输比特总数与其中出错比特数的比值。

    (4)传输延迟:是指由于各种原因的影响,而使系统信息在传输过程中存在着不同程度的延误或滞后的现象。

    89eebf3dfd21d69194b8591b573c3287.png

    计算机网络中传输的信息都是数字数据,计算机之间的通信就是数据通信方式,数据通信是计算机和通信线路结合的通信方式。根据所允许的传输方向,数据通信方式可分成单工通信、半双工通信、双工通信三种方式。

    数据通信传输方式

    并行传输

    并行传输指的是数据以成组的方式,在多条并行信道上同时进行传输。常用的就是将一个字符代码的几位二进制码,分别在几个并行行道上进行传输。例如,采用8单位代码的字符,可以用8个信道并行传输,一次传送一个字符,因此收、发双方不存在字符的同步问题,不需要加“起”、“止”信号或者其他信号来实现收、发双方的字符同步,这是并行传输的一个主要优点。但是,并行传输必须有并行信道,这带来了设备上或实施条件的限制。

    串行传输

    串行传输是构成字符的二进制代码在一条信道上以位(码元)为单位,按时间顺序逐位传输的方式。按位发送,逐位接收,同时还要确认字符,所以要采取同步措施。速度虽慢,但只需一条传输信道,投资小,易于实现,是数据传输采用的主要传输方式。也是计算机通信采取的一种主要方式。

    异步传输

    异步传输是字符同步传输的方式,又称起止式同步。当发送一个字符代码时,字符前面要加一个“起”信号,长度为1个码元宽,极性为“0”,即空号极性;而在发完一个字符后面加一个“止”信号,长度为1,1.5(国际2号代码时用)或2个码元宽,极性为“1”,即传号极性。接收端通过检测起、止信号,即可区分出所传输的字符。字符可以连续发送,也可单独发送,不发送字符时,连续发送止信号。每一个字符起始时刻可以是任意的,一个字符内码元长度是相等的,接收端通过止信号到起信号的跳变(“1” “0”) 来检测一个新字符的开始。该方式简单,收、发双方时钟信号不需要精确同步。缺点是增加起、止信号,效率低,使用于低速数据传输中。

    同步传输同步传输是位(码元)同步传输方式。该方式必须在收、发双方建立精确的位定时信号,以便正确区分每位数据信号。在传输中,数据要分成组(或称帧),一帧含多个字符代码或多个独立码元。在发送数据前,在每帧开始必须加上规定的帧同步码元序列,接收端检测出该序列标志后,确定帧的开始,建立双方同步。接收端DCE从接收序列中提取位定时信号,从而达到位(码元)同步。同步传输不加起、止信号,传输效率高,使用于2 400 bit/s以上数据传输,但技术比较复杂。

    打开APP阅读更多精彩内容

    点击阅读全文

    展开全文
  • 组态软件的常用通讯方式解析 组态软件的通讯方式主要分为以下几种: 1、板卡通讯方式 2、串口通讯方式 3、以太网通讯方式 4、无线通讯方式 以下就这几种方式作简单的分析与比较
  • 进程间的六种通信方式

    千次阅读 多人点赞 2022-05-07 11:24:22
    以 Unix/Linux为例,介绍几种重要的进程间通信方式:管道、消息队列、共享内存、信号量、信号、Socket。 六种通信方式 管道 如果你学过Linux命令,那你肯定很熟悉 | 这个竖线。 $ ps auxf | grep mysql ...

    概述

    每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的, 所以进程之间要通信必须通过内核。

    进程间通信目的一般有共享数据,数据传输,消息通知,进程控制等。以 Unix/Linux为例,介绍几种重要的进程间通信方式:管道、消息队列、共享内存、信号量、信号、Socket

    六种通信方式

    管道

    如果你学过Linux命令,那你肯定很熟悉 这个竖线。

    $ ps auxf | grep mysql

    上面命令行里的  竖线就是一个管道,它的功能是将前一个命令(ps auxf)的输出,作为后一个命令(grep mysq1)的输入,从这功能描述,可以看出管道传输数据是单向的,如果想相互通信,我们需要创建两个管道才行。

    同时,我们得知上面这种管道是没有名字,所以 表示的管道称为匿名管道,用完了就销毁。

    管道还有另外一个类型是命名管道,也被叫做FIFO,因为数据是先进先出的传输方式。

    在使用命名管道前,先需要通过mkfifo命令来创建,并且指定管道名字:

    $ mkfifo myPipe

    myPipe 就是这 个管道的名称,基于Linux一切皆文件的理念,所以管道也是以文件的方式存在,我们可以用Is查看rm删除,这个文件的类型是p,也就是pipe(管道)的意思:

     接下来,我们往myPipe这个管道写入数据:

    $ echo "hello" > myPipe // 将数据写进管道 
    
    // 停住了。。。
    
    

    你操作了后,你会发现命令执行后就停在这了,这是因为管道里的内容没有被读取,只有当管道里的数据被读完后,命令才可以正常退出。

    于是,我们执行另外一个命令来读取这个管道里的数据:

    $ cat < myPipe // 读取管道里的数据
    
    hello

    可以看到,管道里的内容被读取出来了,并打印在了终端上,另外一方面,echo那个命令也正常退出了。

    我们可以看出,管道这种通信方式效率低, 不适合进程间频繁地交换数据。当然,它的好处,自然就是简单,同时也我们很容易得知管道里的数据已经被另一个进程读 取了。

    我们可以得知,对于匿名管道,它的通信范围是存在父子关系的进程。因为管道没有实体,也就是没有管道文件,只能通过 fork来复制父进程fd文件描述符,来达到通信的目的。

    另外,对于命名管道, 它可以在不相关的进程间也能相互通信,用制了一个类型为管道的设备文件, 在进程里只要使用这个设备文件,就可以相互通信。

    消息队列

    前面说到管道的通信方式是效率低的,因此管道不适合进程间频繁地交换数据。

    对于这个问题,消息队列的通信模式就可以解决。比如,A进程要给B进程发送消息,A进程把数据放在对应的消息队列后就可以正常返回了,B进程需要的时候再去读取数 据就可以了。同理,B进程要给A进程发送消息也是如此。

    再来,消息队列是保存在内核中的消息链表,在发送数据时,会分成一个一个独立的数据单元,也就是消息体 (数据块),消息体是用户自定义的数据类型,消息的 发送方和接收方要约定好消息体的数据类型,所以每个消息体都是固定大小的存储块,不像管道是无格式的字节流数据。如果进程从消息队列中读取了消息体,内 核就会把这个消息体删除。

    消息队列生命周期随内核,如果没有释放消息队列或者没有关闭操作系统,消息队列会一直存在,而前面提到的匿名管道的生命周期,是随进程的创建而建立,随进程的结束而销毁。

    缺点:

    消息队列通信过程中,存在用户态与内核态之间的数据拷贝开销,因为进程写入数据到内核中的消息队列时,会发生从用户态拷贝数据到内核态的过程,同理 另一进程 读取内核中的消息数据时,会发生从内核态拷贝数据到用户态的过程。

    共享内存

    消息队列的读取和写入的过程,都会有发生用户态与内核态之间的消息拷贝过程。那共享内存的方式,就很好的解决了这一问题。

    现代操作系统,对于内存管理,采用的是虚拟内存技术,也就是每个进程都有自己独立的虚拟内存空间,不同进程的虚拟内存映射到不同的物理内存中。所以,即使进程A和 进程B的虚拟地址是一样的,其实访问的是不同的物理内存地址,对于数据的增删查改互不影响。

    共享内存的机制,就是拿出一块虚拟地址空间来,映射到相同的物理内存中。这样这个进程写入的东西,另外一个进程马上就能看到了,都不需要拷贝来拷贝去,传来传去, 大大提高了进程间通信的速度。

    当多个进程向同一个共享内存中写入数据时可能会产生覆盖(如在工作中,当多人同时修改一份共享文档时别人可能会将你添加的内容修改删除或覆盖),如果只读则没有任何问题。

    信号量        

    用了共享内存通信方式,带来新的问题,那就是如果多个进程同时修改同一个共享内存,很有可能就冲突了。例如两个进程都同时写一个地址,那先写的那个进程会发现内容被别人覆盖了。

    为了防止多进程竞争共享资源,而造成的数据错乱,所以需要保护机制,使得共享的资源,在任意时刻只能被一个进程访问。正好,信号量就实现了这一保护机制。

    信号量其实是一个整型的计数器,主要用于实现进程间的互斥与同步,而不是用于缓存进程间通信的数据。

    信号量表示资源的数量,控制信号量的方式有两种原子操作:

    • 一个是P操作,这个操作会把信号量减去1,相减后如果信号量<0,则表明资源已被占用,进程需阻塞等待;相减后如果信号量>=0,则表明还有资源可使用,进程可正常继续执行。
    • 另一个是V操作,这个操作会把信号量加上1,相加后如果信号量<=0,则表明当前有阻塞中的进程,于是会将该进程唤醒运行;相加后如果信号量>0,则表明当前没有阻塞中的进程。

    P操作是用在进入共享资源之前,V操作是用在离开共享资源之后,这两个操作是必须成对出现的。 接下来,举个例子,如果要使得两个进程互斥访问共享内存,我们可以初始化信号量为1。

    具体的过程如下:

    • 进程A在访问共享内存前,先执行了P操作,由于信号量的初始值为1,故在进程A执行P操作后信号量变为0,表示共享资源可用,于是进程A就可以访问共享内存。
    • 若此时,进程B也想访问共享内存,执行了P操作,结果信号量变为了-1,这就意味着临界资源已被占用ェ因此进程B被阻塞。
    • 直到进程A访问完共享内存,才会执行V操作,使得信号量恢复为0,接着就会唤醒阻塞中的进程B,使得进程B可以访问共享内存,最后完成共享内存的访问后,执行 V操作,使信号量恢复到初始值1。

    可以发现,信号初始化为1,就代表着是互斥信号量,它可以保证共享内存在任何时刻只有一个进程在访问,这就很好的保护了共享内存。

    另外,在多进程里,每个进程并不一定是顺序执行的,它们基本是以各自独立的、不可预知的速度向前推进,但有时候我们又希望多个进程能密切合作,以实现一个共同的任务。

    例如,进程A是负责生产数据,而进程B是负责读取数据,这两个进程是相互合作、相互依赖的,进程A必须先生产了数据,进程B才能读取到数据,所以执行是有前后顺序的。

    那么这时候,就可以用信号量来实现多进程同步的方式,我们可以初始化信号量为0。

    具体过程:

    • 如果进程B比进程A先执行了,那么执行到P操作时,由于信号量初始值为0,故信号量会变为-1,表示进程 A 还没生产数据,于是进程B就阻塞等待;
    • 接着,当进程A生产完数据后,执行了V操作,就会使得信号量变为0,于是就会唤醒阻塞在P操作的进程B;
    • 最后,进程B被唤醒后,意味着进程A已经生产了数据,于是进程B就可以正常读取数据了。

    可以发现,信号初始化为0,就代表着是同步信号量,它可以保证进程A应在进程B之前执行。 

    信号

    信号一般用于一些异常情况下的进程间通信,是一种异步通信,它的数据结构一般就是一个数字。

    在Linux操作系统中,为了响应各种各样的事件,提供了几十种信号,分别代表不同的意义。我们可以通过kill -l命令,查看所有的信号。

    运行在shell终端的进程,我们可以通过键盘输入某些组合键的时候,给进程发送信号。例如

    • Ctrl+C产生 SIGINT 信号,表示终止该进程;
    • Ctrl+Z产生 SIGTSTP 信号,表示停止该进程,但还未结束;

    如果进程在后台运行,可以通过kill命令的方式给进程发送信号,但前提需要知道运行中的进程PID号,例如:

    • kill -9 1050,表示给PID为1050的进程发送SIGKILL 信号,用来立即结束该进程(例如:在任务管理器右键结束进程);

    所以,信号事件的来源主要有硬件来源(如键盘Cltr+C)和软件来源(如kill命令)。

    信号是进程间通信机制中唯一的异步通信机制

    进程需要为信号设置相应的监听处理,当收到特定信号时,执行相应的操作,类似很多编程语言里的通知机制。

    Socket

    前面提到的管道、消息队列、共享内存、信号量和信号都是在同一台主机上进行进程间通信,那要想跨网络与不同主机上的进程之间通信,就需要Socket通信了

    实际上,Socket通信不仅可以跨网络与不同主机的进程间通信,还可以在同主机上进程间通信。

    总结

    展开全文
  • 物联网常见的几种通信方式

    千次阅读 2021-11-13 00:17:53
    关注+星标公众号,不错过精彩内容素材来源| 网络编排 | strongerHuang早期的物联网是指两个或多个设备之间在近距离内的数据传输,解决物物相连,早期多采用有线方式,比如RS32...
  • 进程和线程的几种通信方式

    千次阅读 2022-04-12 14:30:05
    进程之间通信的几种方式和线程之间的通信方式,以及Java中创建多线程的几种方式
  • [通讯方式] 串口通信

    千次阅读 2022-03-07 16:02:49
    文章预览:一. 前言二. 串口通信的重要概念 一....发送方按照信息编码方式对有效信息进行编码(编成可以在通信线路上传输的信号形态); 编码后的信息在传输介质上进行传输,输送给接收方; 接收...
  • 计算机网络通信方式

    2022-03-09 22:14:57
    根据数据在传输线上的传输方向分类: 1、单工通信:单向传输。 2、半双工通信:双向交替传输。 3、全双工通信:双向同时传输,熟悉的TCP协议就是全双工协议。
  • 常见的数据通信方式原理是什么

    千次阅读 2021-06-18 07:53:39
    数据通信的基本方式可分为并行通信与串行通信两种:并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。串行通信:是指利用一条...
  • 线程间通讯方式有哪些? 一、进程间的通信方式 管道( pipe ): 管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 有名管道 (namedpipe) ...
  • Java通信方式总结

    2022-03-20 16:30:11
    Java通信方式总结 1 Java对象、方法间通信方式 1.1 值传递、引用传递 (1)值传递:将副本传递给方法,调用方法改变副本的值,但是并不改变原值 (2)引用传递:传递的是对象(或者变量)的引用,对其修改,会改变...
  • 文章目录通讯方式分类典型通信方式概述串口通信IICSPI附录参考链接 通讯方式分类 从物理结构来看: 通信方式分为并行通信与串行通信两种方式,串行只用到一根线即可,并行需要8根 从工作方式来看: 全双工:可同时...
  • 可以同时接收数据和发送数据
  • 通信方式的分类(串行通信和并行通信)

    千次阅读 多人点赞 2021-05-10 11:04:43
    数据通信的基本方式根据数据的传输方式可以分为串行通信与并行通信两种。 串行通信又根据数据的同步方式,分为异步传送和同步传送两种方式。或者根据数据的传输方向与时间关系,分为单工通信、半双工通信及全双工...
  • vue组件间常用的几种通信方式

    千次阅读 2022-04-22 13:30:32
    这种通信方式适用与父向子传递数据 //父组件 <template> <div class="father"> <span>我是父组件</span><br> <StudentName :msg="name"></StudentName> </div>...
  • 前端页面通信方式

    2022-01-29 16:57:27
    前端如何实现不同tab页的通信,如何在当前页面操作其他页面
  • 四种通信方式

    千次阅读 2020-11-16 09:45:48
    以太网是一种基带局域网技术,以太网通信是一种使用同轴电缆作为网络媒体,采用载波多路访问和冲突检测机制的通信方式,数据传输速率达到1Gbit/s,可满足非持续性网络数据传输的需要 比较通用的通讯协议是tcp/ip协议...
  • PLC编程中网络通讯方式有几种?

    千次阅读 2021-12-16 09:04:55
    Plc网络由多个子网组成,每个子网的通信过程由通信协议决定,通信方式是通信协议的核心内容。通信模式包括访问控制模式和数据传输模式。所谓接入控制(也称接入控制)是指如何获得共享通信介质的使用权,而数据传输是...
  • Linux的进程/线程通信方式总结

    千次阅读 2021-05-08 23:28:58
    Linux系统中的进程通信方式主要以下几种:同一主机上的进程通信方式* UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal)* System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue)...
  • 原标题:plc通讯方式有哪三种?plc常见的三种通讯方式PLC = Programmable Logic Controller,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。...PLC通信方式主要有RS232、...
  • 关于stm32单片机的通讯方式

    千次阅读 2022-02-25 08:37:23
    二丶通信方式分两种: 1.异步通信:无时序要求,但是效率较低 2.同步通心:对时序要求高,效率较高。 三丶单片机中通信: 1.uart:异步全双工通信 2.rs485:异步半双工,rs485的本质就是uart外接485芯片,采用差分...
  • 通信方式、通信接口、通信总线、通信协议的关系

    千次阅读 多人点赞 2021-05-10 09:45:42
    通信方式、通信接口、通信总线、通信协议的关系
  • gRPC的通信方式概述

    2021-03-03 11:10:57
    gRPC一共有四种通信方式: UNARY:一元通信方式 CLIENT STREAMING:客户端流通信方式 SERVER STREAMING:服务端流通信方式 BIDIRECTIONAL STREAMING:双向流通信方式 UNARY 在这种情况下,为最简单的客户端与...
  • 嵌入式中常见的几种通讯方式

    千次阅读 2020-07-01 21:05:22
    盘点一下:常见的几种通讯方式 (一) UART-通用异步串行数据总线 ➢201kbps-10Mbps 应用于低速通讯,对应电平标准有RS232/RS422/RS485. 如电脑中口,工控机串口,芯片调试接口等。 ➢优缺点: 简单,速度慢 另外科普...
  • 串口通信与通信方式简介

    千次阅读 2021-03-18 23:09:42
    串口通信: 串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议是指规定了数据包的内容,内容包含了起始位...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,659,703
精华内容 663,881
关键字:

通信方式