
- 应用学科
- 通信
- 分 类
- 波分、频分、时分、码分多路复用
- 中文名
- 多路复用
- 外文名
- Multiplexing
-
多路复用
2020-04-16 22:22:37多路复用频分多路复用时分多路复用波分多路复用码分多路复用 多路复用技术应用于很多方面,本文主要讲述数据交换中电路交换的多路复用 多路复用(multiplexing),简称复用,是通信技术中的基本概念。 共享信道 把...多路复用技术应用于很多方面,本文主要讲述数据交换中电路交换的多路复用
多路复用(multiplexing),简称复用,是通信技术中的基本概念。
共享信道
把链路/网络资源(如带宽)划分为资源片
将资源片分配给各路“呼叫”,资源片可能“闲置”(idle) 无共享
下面介绍典型多路复用方法频分多路复用
频分多路复用 (frequency division multiplexing - FDM)
将信道按频率进行划分,各用胡占用不同的带宽资源(这里的带宽是频率带宽(单位是Hz)而不是数据发送频率)比如有线电视网络
时分多路复用
时分多路复用(time division multiplexing - TDM )
将时间划分为一段段等长的
时分复用帧(TDM)
,每个用户在每个 TDM 帧中占 用固定序号的时隙
每用户所占用的时隙是
周期性出现
(其周期就是 TDM 帧的长度)每个TDM帧内每个用户都占用一个时隙
时分复用的所有用户是在不同的时间占用相同的频带宽度
波分多路复用
波分多路复用 (wavelength division multiplexing - WDM)
光的频分复用,按波长划分。光通信系统,
判断题:WDM实质是FDM。 正确,因为WDM是按照光的波长进行划分,按波长就是按频率进行划分
码分多路复用
码分多路复用 (code division multiplexing - CDM),对比CDMA
广泛应用于无线链路共享(如蜂窝网,卫星通信等)
-
详解Python IO口多路复用_多路复用的基本原理是什么
2020-11-22 21:44:57详详解解Python IO 口口多多路路复复用用 这篇文章主要介绍了Python IO 口多路复用的的相关资料文中讲解的非常细致帮助大家更好的理解和学习 兴趣的朋友可以参考下 什什么么是是IO 多多路路复复用用呢呢 我一个... -
非多路复用与多路复用总线转换桥的设计与实现
2020-08-01 04:34:01提出了一种新颖的非多路复用总线与多路复用总线的转换接口电路。以两种总线的典型代表芯片TMS320F206与SJA1000为例,分析了各自时序的特点,详细论述了两种总线之间转换的关键:读、写周期的使能... -
嵌入式系统/ARM技术中的非多路复用与多路复用总线转换桥的设计与实现
2020-12-10 05:12:14摘要:提出了一种新颖的非多路复用总线与多路复用总线的转换接口电路。以两种总线的典型代表芯片TMS320F206与SJA1000为例,分析了各自时序的特点,详细论述了两种总线之间转换的关键:读、写周期的... -
selector多路复用_简述IO多路复用
2020-12-18 13:49:25这就是IO多路复用模型。在IO多路复用模型中,引入了一种新的系统调用,查询IO的就绪状态。在Linux系统中,对应的系统调用为select/epoll系统调用。通过该系统调用,一个进程可以监视多个文件描述符,一旦某个描述符...如何避免同步非阻塞IO模型中轮询等待的问题呢?这就是IO多路复用模型。
在IO多路复用模型中,引入了一种新的系统调用,查询IO的就绪状态。在Linux系统中,对应的系统调用为select/epoll系统调用。通过该系统调用,一个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是内核缓冲区可读/可写),内核能够将就绪的状态返回给应用程序。随后,应用程序根据就绪的状态,进行相应的IO系统调用。
目前支持IO多路复用的系统调用,有select、epoll等等。select系统调用,几乎在所有的操作系统上都有支持,具有良好的跨平台特性。epoll是在Linux 2.6内核中提出的,是select系统调用的Linux增强版本。
在IO多路复用模型中通过select/epoll系统调用,单个应用程序的线程,可以不断地轮询成百上千的socket连接,当某个或者某些socket网络连接有IO就绪的状态,就返回对应的可以执行的读写操作。
举例来说明IO多路复用模型的流程。发起一个多路复用IO的read读操作的系统调用,流程如下:
(1)选择器注册。在这种模式中,首先,将需要read操作的目标socket网络连接,提前注册到select/epoll选择器中,Java中对应的选择器类是Selector类。然后,才可以开启整个IO多路复用模型的轮询流程。
(2)就绪状态的轮询。通过选择器的查询方法,查询注册过的所有socket连接的就绪状态。通过查询的系统调用,内核会返回一个就绪的socket列表。当任何一个注册过的socket中的数据准备好了,内核缓冲区有数据(就绪)了,内核就将该socket加入到就绪的列表中。
当用户进程调用了select查询方法,那么整个线程会被阻塞掉。
(3)用户线程获得了就绪状态的列表后,根据其中的socket连接,发起read系统调用,用户线程阻塞。内核开始复制数据,将数据从内核缓冲区复制到用户缓冲区。
(4)复制完成后,内核返回结果,用户线程才会解除阻塞的状态,用户线程读取到了数据,继续执行。
IO多路复用模型的流程,如下图所示
IO多路复用模型的特点:IO多路复用模型的IO涉及两种系统调用(System Call),另一种是select/epoll(就绪查询),一种是IO操作。IO多路复用模型建立在操作系统的基础设施之上,即操作系统的内核必须能够提供多路分离的系统调用select/epoll。
和NIO模型相似,多路复用IO也需要轮询。负责select/epoll状态查询调用的线程,需要不断地进行select/epoll轮询,查找出达到IO操作就绪的socket连接。
IO多路复用模型与同步非阻塞IO模型是有密切关系的。对于注册在选择器上的每一个可以查询的socket连接,一般都设置成为同步非阻塞模型。仅是这一点,对于用户程序而言是无感知的。
IO多路复用模型的优点:与一个线程维护一个连接的阻塞IO模式相比,使用select/epoll的最大优势在于,一个选择器查询线程可以同时处理成千上万个连接(Connection)。系统不必创建大量的线程,也不必维护这些线程,从而大大减小了系统的开销。
Java语言的NIO(New IO)技术,使用的就是IO多路复用模型。在Linux系统上,使用的是epoll系统调用。
IO多路复用模型的缺点:本质上,select/epoll系统调用是阻塞式的,属于同步IO。都需要在读写事件就绪后,由系统调用本身负责进行读写,也就是说这个读写过程是阻塞的。
如何彻底地解除线程的阻塞,就必须使用异步IO模型。
相关文章1. 简述 BIO, NIO, AIO 的区别
2. 携程基于Quasar协程的NIO实践
3. Java NIO浅析
4. NIO与传统IO的区别
-
多路复用技术(频分多路复用、时分多路复用和波分多路复用)
2010-09-24 10:00:00基带信号就是将数字信号1或0直接用两种不同的电压来表示,然后送到线路上去传输。... 常用的多路复用技术有频分多路复用技术和时分多路复用技术。 频分多路复用是将各路信号分别调制到不同的频段进行传输,基带信号就是将数字信号1或0直接用两种不同的电压来表示,然后送到线路上去传输。
宽带信号则是将基带信号进行调制后形成的频分复用模拟信号。
多路复用技术的基本原理是:各路信号在进入同一个有线的或无线的传输媒质之前,先采用调制技术把它们调制为互相不会混淆的已调制信号,然后进入传输媒质传送到对方,在对方再用解调(反调制)技术对这些信号加以区分,并使它们恢复成原来的信号,从而达到多路复用的目的。
常用的多路复用技术有频分多路复用技术和时分多路复用技术。
频分多路复用是将各路信号分别调制到不同的频段进行传输,多用于模拟通信。频分复用(FDM,Frequency Division Multiplexing)就是将用于传输信道的总带宽划分成若干个子频带(或称子信道),每一个子信道传输1路信号。频分复用要求总频率宽度大于各个子 信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰(条件之一)。频分复用技术的特 点是所有子信道传输的信号以并行的方式工作,每一路信号传输时可不考虑传输时延,因而频分复用技术取得了非常广泛的应用。频分复用技术除传统意义上的频分复用(FDM)外,还有一种是正交频分复用(OFDM)。频分多路复用的原理图如下所示:
时分多路复用技术是利用时间上离散的脉冲组成相互不重叠的多路信号,广泛应用于数字通信。时分多路复用适用于数字信号的传输。由于信道的位传输率超过每一路信号的数据传输率,因此可将信道按时间分成若干片段轮换地给多个信号使用。每一时间片由 复用的一个信号单独占用,在规定的时间内,多个数字信号都可按要求传输到达,从而也实现了一条物理信道上传输多个数字信号。假设每个输入的数据比特率是 9. 6kbit / s ,线路的最大比特率为76. 8 kbit / s ,则可传输8 路信号。
除了频分和时分多路复用技术外,还有一种波分复用技术。这是在光波频率范围内,把不同波长的光波,按一定间隔排列在一根光纤中传送。这种用于光纤通信的“波分复用”技术,现在正在迅速发展之中。波分复用(WND)是将两种或多种不同波长的光载波信号(携带各种信息)在发送端经复用器(亦称合波器,Multiplexer)汇合在一起,并耦合到光线路的同一根光纤中进行传输的技术;在接收端,经解复用器(亦称分波器或称去复用器,Demultiplexer)将各种波长的光载波分离,然后由光接收 机作进一步处理以恢复原信号。这种在同一根光纤中同时传输两个或众多不同波长光信号的技术,称为波分复用
频分多路复用与时分多路复用的区别如下:
(1)微观上,频分多路复用的各路信号是并行的,而时分多路复用是串行的。(2)频分多路复用较适合于模拟信号,而时分多路复用较适用于数字信号。
频分多路复用是将传输介质的可用带宽分割成一个个“频段”,以便每个输入装置都分配到一个“频段”。传输介质容许传输的最大带宽构成一个信道,因此每个“频段”就是一个子信道。
频分多路复用的特点是:每个用户终端的数据通过专门分配给它的信道传输,在用户没有数据传输时,别的用户也不能使用。频分多路复用适合于模拟信号的频分传输,主要用于电话和电缆电视(CATV)系统,在数据通信系统中应和调制解调技术结合使用。
-
python io多路复用框架_python IO多路 IO多路复用+socket实现 协程
2021-03-17 01:36:251. IO多路复用IO多路复用作用:检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写)2. 基于IO多路复用+socket实现并发请求(一个线程100个请求)IO多路复用 socket非阻塞基于事件循环实现...1. IO多路复用
IO多路复用作用:检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写)
2. 基于IO多路复用+socket实现并发请求(一个线程100个请求)
IO多路复用 socket非阻塞
基于事件循环实现的异步非阻塞框架:lzl
非阻塞:不等待
异步:执行完某个人物后自动调用我给他的函数。
Python中开源 基于事件循环实现的异步非阻塞框架 Twisted
3.IO多路复用作用?
检测多个socket是否发生变化。
操作系统检测socket是否发生变化,有三种模式:
select:最多1024个socket;循环去检测。
poll:不限制监听socket个数;循环去检测(水平触发)。
epoll:不限制监听socket个数;回调方式(边缘触发)。
Python模块:
select.select
select.epoll
4.提高并发方案 :
多进程
多线程
异步非阻塞模块 (Twisted) scrapy框架(单线程完成并发)的大V大V
5.什么是异步非阻塞?
非阻塞 , 不等待
比如创建socket对某个地址进行connect、获取接收数据recv时默认都会等待(连接成功或接收到数据),才执行后续操作。
如果设置setblocking(False),以上两个过程就不再等待,但是会报BlockingIOError的错误,只要捕获即可。
异步,通知,执行完成之后自动执行回调函数或自动执行某些操作(通知)。
比如做爬虫中向某个地址baidu.com发送请求,当请求执行完成之后自执行回调函数。
6.什么是同步阻塞 ?
阻塞 : 等
同步 : 按照顺序逐步执行
3. 协程
-
selector多路复用_selectors模块 - 实现多路复用简单介绍
2020-12-19 23:15:32常见的多路复用有select、epoll、poll方式。但并不是每种操作系统都能使用,比如:windows操作系统不支持使用epoll来实现多路复用。而selectors模块能根据操作系统来判断选择最好的多路复用方式,相当于一个通用的... -
python 多路复用io_详解Python IO口多路复用
2021-02-09 10:32:25详解Python IO口多路复用,进程,数据,区别,操作,定义详解Python IO口多路复用易采站长站,站长之家为您整理了详解Python IO口多路复用的相关内容。1、blocking和non-blocking的区别:调用blocking IO会一直block住... -
IO多路复用
2020-09-05 10:34:47文章目录IO多路复用IO多路复用操作系统知识补充用户态和内核态进程切换文件描述符FDIO模型BIONIOAIO多路复用模型selectpollepoll总结redis IO模型 IO多路复用 何为IO多路复用? IO多路复用就是一个线程或者一个进程... -
selector多路复用_如何理解I/O多路复用
2020-12-19 23:15:26java nio提供了一套称为I/O多路复用的编程范式,那么什么叫做I/O多路复用呢?所谓的I/O多路复用,从字面意思上来理解,就是:有多个I/O操作(或是写,或是读,或是请求),这多个I/O操作都共用一个逻辑流。为了讲清... -
多路复用技术之时分复用
2020-09-28 09:50:14多路复用技术通常分为频分多路复用、时分多路复用、波分多路复用、码分多址和空分多址。 二、时分多路复用原理 时分多路复用技术TDM(Time Division Multiplexing)是以信道传输时间作为分割对象,通过为多个信道... -
多路复用的主要目的_Mysql Proxysql 多路复用到底有多大作用
2021-01-30 16:40:53POSTGRESQL 在多并发连接的时候,会考虑使用pgbouncer , MYSQL 实际上很少听到说,还要使用代理的情况, 大多都是直接连接到mysql或者即使有中间件,也没有提到多路复用的技术.实际上PROXYSQL 是支持多路复用技术应用在 ... -
【计算机网络】数据链路层 : 信道划分 介质访问控制 ( 数据链路 | 介质访问控制分类 | 频分多路复用 FDM | ...
2020-08-19 10:45:09一、 传输数据的两种链路、 二、 介质访问控制、 三、 信道划分 介质访问控制、 四、 频分多路复用 FDM、 五、 时分多路复用 TDM、 六、 统计时分复用 STDM、 七、 波分复用 WDM、 八、 码分多路复用 CDM、 -
多路复用技术
2020-02-22 10:55:44多路复用技术 多路复用(multiplexing),简称复用,是通信技术的基本概念 多路复用 链路/网络资源划分为资源片 将资源片分配给各路“呼叫” 每路呼叫独占分配到的资源片进行通信 资源片可能“闲置”(idle) 典型... -
动图了解I/O多路复用
2019-11-11 01:00:12啥叫I/O多路复用?epoll又是个什么东西?你或许看过很多文章,但是还是感觉云里雾里的,今天,我们抛开文字,释放动图,或许你就理解了。I/O多路复用通常的一次的请求过程... -
Io多路复用
2019-05-12 09:57:09io多路复用 文章目录IO多路复用IO多路转换-select函数 IO多路复用 fcntl函数实现(非阻塞方式) select函数实现 非阻塞模型采用遍历动态数组的的方式,找出动态数组中所有的fd并通过这些fd和对应的客户端进行双向通信... -
多路复用器_模拟开关和多路复用器基础参数介绍
2021-01-13 19:51:27点击下方[阅读原文],查看更多在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如运放的增益调节、ADC分时采集多路传感器信号等等。虽然它的功能很简单,但是仍然有很多细节,需要大家在使用的... -
python io多路复用框架_Python篇-IO多路复用详解
2021-01-28 17:07:21TZ : 我是一个平凡的人,梦想开一家甜品店一 : 科普一分钟IO多路复用是IO模式的一种,是一种单线程处理多并发的IO操作的方案,其他IO操作方案分别有 :阻塞 I/O(blocking IO)非阻塞 I/O(nonblocking IO)I/O 多路复用( IO...