Ubuntu现有的内核和rt内核之间有什么区别?

Ubuntu 11.10的通用内核与所谓的RT内核之间有什么区别?

  • 音频延迟是否取决于通用内核与RT内核?其中一些音频捕获似乎总是有几毫秒的延迟。

例如:其他发行版都有它们。

ftp://ftp.nluug.nl/pub/metalab/distributions/tinycorelinux/4.x/x86/contrib/rt-kernel/

Follow up:

Choosing a Kernel for Your Use Case
These are some simple guidelines provided to help you understand which kernel, and in which order, you should test to fit your use case.

- If you do not require low latency for your system then please use the:
  -generic kernel.
- If you need a low latency system (e.g. for recording audio) then please use the:
  -preempt kernel as a first choice. 
  This reduces latency but doesn't sacrifice power saving features. 
  It is available only for 64 bit systems (also called amd64).
- If the -preempt kernel does not provide enough low latency for your needs 
  (or you have an 32 bit system) then you should try the:
  -lowlatency kernel.
- If the -lowlatency kernel isn't enough then you should try the:
  -rt kernel
- If the -rt kernel isn't enough stable for you then you should try the:
  -realtime kernel
1个回答

-rt内核 vs -generic内核

-rt内核基于Ubuntu内核源代码树,并应用了PREEMPT_RT补丁(因此可以使用相同的功能、补丁、启用硬件、安全修复等),并应提供与Ubuntu默认的-generic内核相同的服务。

e.g.,

它应该与闭源视频驱动程序(nvidia和fglrx)、任何外部DKMS驱动程序兼容,并且有可用的后向兼容软件包。

-rt内核的目标是获得与-generic内核对齐的Ubuntu内核的实时变体。

正如可以从控制系统技术组的文章“Realtime Linux”中所读到的:

-realtime和-rt(硬实时)内核的目标是以最低的延迟为代价实现。在技术行话中,硬实时系统应始终满足其截止日期。因此,开发人员应使用最先进的编程技术(睡眠自旋锁、PI互斥锁、完全抢占、IRQ线程等),并牺牲可靠性、节能和吞吐量等方面。几乎所有内核的部分都应进行分析,以确保始终出现正确的行为。

-preempt和-lowlatency(软实时)内核的目标是实现良好的实时特性,同时提供可靠性、节能和吞吐量等受欢迎的功能。但这种方式不能保证在所有条件下都具有最低的延迟。


您的音频延迟问题

对于您的音频延迟问题,-realtime和-rt(硬实时)内核是您在不计成本的情况下实现最低延迟的最佳选择,从而减少声音延迟。

请注意其他缓解情况可能会影响您的音频性能。


回答你的问题,音频延迟是否取决于通用内核和实时内核?有些音频捕获似乎总是有几毫秒的延迟。
是的,所使用的内核类型会影响硬件性能,从而影响音频延迟等细节。
话虽如此,使用“-realtime”和“-rt”(硬实时)内核,这些内核具有更激进的配置,可以进一步降低延迟,这是您的最佳选择。