Prioridades en tiempo real en SO no en tiempo real


8

Si hago el siguiente comando en mi instalación estándar de Linux Mint:

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

Obtengo algunos de los procesos con prioridad en tiempo real de 99.

¿Cuál es el significado de rtprioLinux en tiempo no real? ¿Esto significa que si solo ejecuto un programa con rtprio99 se ejecuta en tiempo real? ¿Dónde caen los sistemas operativos en tiempo real en esta historia?

Respuestas:


5

"Tiempo real" se refiere a los procesos que deben finalizar antes de los plazos, o que sucedan cosas malas (TM). Un kernel en tiempo real es aquel en el que las latencias del kernel están estrictamente limitadas (sujetas a un posible mal comportamiento del hardware que simplemente no responde a tiempo), y en el que la mayoría de las actividades pueden interrumpirse para permitir que se ejecuten tareas de mayor prioridad. En el caso de Linux, el núcleo de vainilla no está configurado en tiempo real (tiene un costo en rendimiento, y los parches en tiempo real flotantes dependen de algunos hacks que los desarrolladores principales consideran asqueroso). Además, ejecutar un kernel en tiempo real en una máquina que simplemente no puede mantener el ritmo (la mayoría de las máquinas personales) no tiene sentido.

Dicho esto, el núcleo de vainilla maneja las prioridades en tiempo real, lo que les da mayor prioridad que las tareas normales, y esas tareas generalmente se ejecutarán hasta que cedan voluntariamente la CPU. Esto da una mejor respuesta a esas tareas, pero significa que otras tareas se retrasan.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.