📜  操作系统中延迟和抖动的区别

📅  最后修改于: 2022-05-13 01:56:11.569000             🧑  作者: Mango

操作系统中延迟和抖动的区别

什么是延迟?
延迟的字面量意思是“延迟”。

在操作系统中,延迟是从发生中断到处理器开始运行代码来处理中断之间的时间。它被视为输入或命令与所需输出之间的组合延迟,以毫秒为单位。

一些延迟的例子是——

1. 网络延迟:
网络的延迟是到达某些数据(例如“知识包”)从其源到目的地的时间延迟。它通常以毫秒为单位。这些类型的延迟工具测量数据包在传输、处理以及在被接收机器解码后最终到达目的地所花费的时间。

允许的延迟范围取决于网络和在其上使用的应用程序的带宽。这些应用具有不同的带宽范围。其中,例如视频通话应用程序,需要更多的带宽和更低的延迟范围才能函数。而其他一些应用程序(例如 -Gmail)允许更高的延迟范围。网络管理员会考虑这些因素,以分配足够的资源和带宽,并保证组织的关键操作有效运行。



2. 磁盘延迟:
块设备上任何单输入输出 (I/O) 操作之间的时间延迟。看起来很简单的东西,但是对于系统的性能却是非常关键的。这些延迟由一些特定的计算决定,例如旋转延迟、寻道时间和传输时间。这些因素直接影响磁盘的 RPM(每分钟转数)。

还存在许多其他类型的延迟,例如 –

RAM latency
CPU latency 
Audio latency 
Video latency 

在计算世界中,这些延迟通常只有几毫秒,但它们加起来会使性能明显下降。

什么是抖动?
操作系统抖动(或操作系统抖动)是指应用程序由于后台守护进程的调度和异步事件(如中断)的处理而受到的干扰。已经看到,由于操作系统抖动,大量类似的应用程序的性能会大幅下降。
就网络而言,我们可以说在网络上连续传输的数据包将具有不同的延迟,尽管它们选择了相同的路由。出于两个关键原因,这在分组交换网络中通常是固有的。首先,数据包是单独路由的。其次,网络设备在队列期间接收数据包,因此无法保证恒定的延迟步调。
每个数据包之间的这种延迟不一致被理解为抖动。对于实时通信(包括 IP 电话、视频会议和虚拟桌面基础架构)而言,这通常是一个重大问题。抖动通常是由网络上的多种因素引起的,每个网络都有延迟时间变化。

抖动有什么影响?
丢包——
当数据包没有一致到达时,接收端点必须针对它进行结构化并计划进行纠正。在某些情况下,它无法进行正确的更正,从而导致数据包丢失。就最终用户体验而言,这将采取多种形式。例如,如果用户正在观看视频,因此视频变得像素化,这通常是潜在抖动的迹象。

网络拥塞——
顾名思义,这些拥塞发生在网络上。网络设备无法发送它们接收到的等量流量,因此它们的数据包缓冲区填满并开始丢弃数据包。如果端点的网络没有干扰,每个数据包都会到达。但是,如果端点缓冲区已满,则数据包会越来越晚到达,从而导致抖动。这通常被称为初期拥塞。通过监控抖动,可以观察初期的拥塞情况。类似地,如果初期网络拥塞正在发生,则抖动会迅速变化。

当网络设备开始丢弃数据包时就会发生拥塞,因此端点没有收到它们。端点然后可以请求重新传输丢失的数据包,这最终导致拥塞崩溃。
对于拥塞,重要的是要注意接收端点不会直接导致它,也不会丢弃数据包。

应该如何赶上 Jitter?
为了形成抖动,在连接的接收端点采用抖动缓冲器。抖动缓冲区收集并存储传入的数据包,以便确定何时以一致的间隔发送它们。



  • 静态抖动缓冲器
    这些缓冲区在系统硬件中实现,主要由制造商配置。
  • 动态抖动缓冲器
    这些缓冲区在系统软件中实现,由网络管理员配置,可以轻松适应网络变化。

延迟和抖动之间的区别?

  • 中断延迟是从中断发生到进入中断服务程序 (ISR) 的延迟。
  • 相反,Jitter是进入ISR的瞬间随着时间的推移而不同。

当两个设备的速度不匹配时,就会出现延迟和抖动的增加;拥塞会导致缓冲区溢出和流量突发。

延迟和抖动天生相关,但它们不是等价的。延迟是数据从网络上的一个端点移动到另一个端点所需的时间。这是一个受多种因素影响的豪华测量。另一方面,抖动是两个数据包之间的延迟差异。同样,它甚至是由网络上的几个因素引起的。尽管抖动和延迟有相似之处,但抖动只是基于延迟,但事实并非如此。

他们都有联系但不一样