Kernel Real Time

marcelu80
#1 por marcelu80 el 25/02/2008
Hola a todos,

esta no es un pregunta para poder hacer algo que no consigo por mi solo, sinó que es pura curiosidad para seguir aprenidendo en Linux:
Resulta que un sistema operativo con Linux kernel estandar por así decirlo no soporta aplicaciones que funcionen en Real Time. En tal caso hay que parchear, modificar el kernel (solo unos pocos son capaces de hacerlo bién) para conseguir que funcione en tiempo real. Las distros de música ya vienen con él por defecto (Musix, Ubuntu Studio, Jack, Studio64,...) Entonces mi pregunta es la siguiente ¿como es que win2 sí que soporta real time sin ninguna versión especial ni modificación de núcleo? ¿Hay alguna explicación a eso? Siempre he creído que windows es mucho peor que Linux en muchas funciones pero especialmente en su kernel. Pero este punto no lo pillo.

PD: Este post tiene un punto de tipico troll tocahuevos....mmm... revisad mis anteriores posts para ver que no.

Saludos a todos!
Subir
OFERTASVer todas
  • -20%
    Focusrite Scarlett 18i20 3rd Gen
    398 €
    Ver oferta
  • -25%
    Focusrite Scarlett 18i8 3rd Gen
    298 €
    Ver oferta
  • -37%
    Behringer SU9920
    69 €
    Ver oferta
Vendaval
#2 por Vendaval el 26/02/2008
La explicación es muy sencilla:

Un usuario standart de Linux no necesita un kernel RT para nada.

Linux viene a ser un SO modular, que configuras como quieres y añades lo que te dé la gana. Tienes varios entornos de escritorio para escoger, numerosas distros, kernels, aplicaciones de sistema y un laaaaaaargo etc......

Esto no es un entorno cerrado, amigo. Libera tu mente. 8)

Salu2 8)
Subir
Ismael Valladolid Torres
#3 por Ismael Valladolid Torres el 26/02/2008
marcelu80 escribió:

PD: Este post tiene un punto de tipico troll tocahuevos....mmm... revisad mis anteriores posts para ver que no.


Jo, ya te digo...

Tu comentario tiene un punto de injusto porque, por una parte, ni Windows ni Linux son sistemas operativos en tiempo real y, por otra parte, que de Linux se disponga del código fuente y sea posible parchearlo para "aproximarse" a un sistema a tiempo real gracias a cambiar su multitarea por una modalidad "apropiativa" --preemptive en inglés-- a la manera del viejo Windows 3.1 donde si a una aplicación no le daba la gana soltar la CPU, el sistema operativo no hacía nada al respecto, es sin duda una virtud de Linux y no un defecto respecto a Windows.

Compara con Windows. En los primeros tiempos de Cubase VST, utilizando los drivers estándar MME de Windows la latencia de audio eran 800 ms. Sí, lee de nuevo, 800 ms. Steinberg tuvo que crear un sistema de drivers alternativo --llamalo "parchear el sistema operativo"-- para conseguir latencias aceptables. Microsoft tuvo que cambiar el sistema operativo de arriba a abajo, sacar Windows XP al mercado con algo llamado drivers WDM para que las latencias estándar fuesen aceptables. Que Windows tiene muchas aplicaciones que Linux no tiene, sin duda. Pero, ojo, lo contrario también es cierto...
Subir
Rofl rofl
#4 por Rofl rofl el 26/02/2008
Tengo entendido que no es hasta vista que no han empleado un "kernel realtime" como tienen en linux o mac, ya que lo de asio como te han comentado es una "parche" para emular jack o core-audio.

WASAPI (Windows Audio Session API):

http://msdn2.microsoft.com/en-us/library/ms679162(VS.85).aspx

Yo en una gentoo configuré el kernel con el realtime, básicamente lo que hace es dar alta prioridad a los procesos de jack para que tenga menos latencia.
Subir
marcelu80
#5 por marcelu80 el 26/02/2008
Vale. Ya me va quedando más claro. O sea que ASIO no es solamente un servidor de sonido como jack sinó que además interviene en el núcleo del sistema ampliando la asignación de capacidad de procesador para aplicaciones de audio.

Lo de preemptive kernel es sin duda lo más potente de Linux respecto a Windows con diferencia. Yo mismo trabajo con un programita de gestión en Acces y VB bajo win2 y cuando ejecutas una consulta no se mueve ni el ratón durante 30 segundos!

¿Lo de WDM no es de Roland (Sonar, etc)? En tu respuesta parece que digas que es de Windows.

Gracias!
Subir
TheFlowerKing
#6 por TheFlowerKing el 27/02/2008
marcelu80 escribió:


¿Lo de WDM no es de Roland (Sonar, etc)? En tu respuesta parece que digas que es de Windows.




WDM es de la ITU.
Subir
Ismael Valladolid Torres
#7 por Ismael Valladolid Torres el 27/02/2008
TheFlowerKing escribió:
marcelu80 escribió:


¿Lo de WDM no es de Roland (Sonar, etc)? En tu respuesta parece que digas que es de Windows.




WDM es de la ITU.


Algo así me suena, como si Microsoft hubiera desarrollado el WDM con la gente de Cakewalk, y Sonar fuese el primer programa en soportarlo. Los drivers CoreAudio de Mac OS X también fueron desarrollados con gente de Emagic. Probablemente si Steinberg no fueran alemanes y no norteamericanos, haría ya años que ASIO sería el driver estándar de audio de Windows.

En mi opinión, con independencia de que no exista aún una "masa crítica" de aplicaciones para Linux compatibles con JACK, el modelo JACK en el que todo el sistema operativo es un Reason a lo bestia, donde puedes conectar la salida de audio de cualquier aplicación a la entrada de audio de cualquier otra, es imbatible por el modelo Windows o por quien se le ponga por delante.
Subir
marcelu80
#8 por marcelu80 el 27/02/2008
Jajaja :lol: :lol: Gracias por el cumplido Theflower King. Probablemente me precipité a interpretar este fragmento sacado de tweakheadz:

Alguien escribió:
WDM stands for Windows Driver Model with Kernal Streaming This is a newer, lower latency driver that allows the application direct access to the "kernal" without going through the Windows OS. This results in latency figure that is fast like ASIO. It was introduced in Cakewalk's Sonar. So if you want to run Sonar, a card with a good WDM driver helps. However, today cakewalk does support asio drivers.


Pero como dice Ivalladt, algo hay de cierto.

Saludos
Subir
TheFlowerKing
#9 por TheFlowerKing el 28/02/2008
Dejadlo, era humor telequil...
Subir
pisoni
#10 por pisoni el 13/03/2008
Hola!

Soy nueva en el foro, y he visto que alguien comentaba que compilar el kernel para conseguir real time es un currazo, y me he animado a escribir.

De este link os podeis bajar un kernel 2.6.24 que funciona con realtime, para debian y ubuntu, para los que no querais bajaros la version nueva de ubuntu:
http://packages.gisa-elkartea.org

Se instala desde la terminal, ejecutando dpkg -i linux-image-2.6.24-2-rt1-gisa-i686_02_i386.deb

Tambien se pueden bajar las fuentes parcheadas por si te apetece compilar.

Un saludo

pisoni
Subir
Ismael Valladolid Torres
#11 por Ismael Valladolid Torres el 17/03/2008
Aquí os explican cómop instalar el 2.6.24 de Musix. Los kernels de Musix están compilados por Tapani Raikkonen, lo hace de primerísima calidad y rapidísimo, casi tanto como su primo el de las carreras.
Subir
ungoliant
#12 por ungoliant el 06/04/2008
Buenas! Justamente hace 2 días hablaba por IRC con un desarrollador de Jack sobre éste tema... andaba algo confundido, como por lo general anda mucha gente respecto al RT, pero lástima que no guardase la conversación :(...
En cualquier caso, me estuvo comentando que para ejecutar el Jack con la opción de -R (para RT) NO hace falta tener un Kernel RT, y que de hecho, usando un Kernel RT, la única diferencia importante es que, a pesar de que Jack ya está trabajando como un proceso RT, el Kernel le garantiza que nadie le va a "molestar". Con ésto, me comento, que se puede reducir la latencia un poco más que sobre un Kernel normal.
Yo con mi M-Audio Delta 1010LT y un Athlon X2 4400+ con 2Gb de RAM, SIN RT consigo 5,33 ms sin XRUN (al menos sin demasiados, porque siempre se cuela alguno cuando estoy dandole caña a la CPU, siempre en momentos en los que no estoy grabando). Con RT puedo apurarlo un poco más, hasta 2,67 ms, pero lamentablemente, al cabo de 5 minutos, Jack se para y no vuelve a arrancar, por un bug que arrastra el kernel RT en mi placa (supongo).
En cualquier caso, me comento que para el 90% de la humanidad, 5,33 ms es cojonudo.

Por otro lado, bajarse el kernel en vanilla y parchearlo con los parches de RT, no es tan complicado, por si a alguien le interesa una guía.

Un saludo!
Subir
marcelu80
#13 por marcelu80 el 07/04/2008
Este enlace va de perlas al tema que nos ocupa.

http://widefox.pbwiki.com/Real-Time

El resto de la comparativa es muy interesante... Saludos
Subir
Ismael Valladolid Torres
#14 por Ismael Valladolid Torres el 08/04/2008
ungoliant escribió:
el Kernel le garantiza que nadie le va a "molestar"


Ehm... Claro, es que de eso se trata, no es poca cosa...
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo