Saltar al contenido

¿Qué significa “Windows no es un sistema operativo en tiempo real”?

Esta inquietud se puede abordar de diferentes maneras, pero te damos la que para nosotros es la resolución más completa.

Solución:

Wikipedia en realidad tiene una sorprendente riqueza de información aquí.

Un sistema operativo en tiempo real (RTOS) es un sistema operativo (OS) destinado a atender solicitudes de aplicaciones en tiempo real.

UN key la característica de un RTOS es el nivel de su consistencia con respecto a la cantidad de tiempo que lleva aceptar y completar la tarea de una aplicación; la variabilidad es fluctuación. Un sistema operativo duro en tiempo real tiene menos inestabilidad que un sistema operativo suave en tiempo real. El principal objetivo de diseño no es un alto rendimiento, sino más bien una garantía de una categoría de rendimiento blando o duro. Un RTOS que normalmente o generalmente puede cumplir con una fecha límite es un sistema operativo en tiempo real suave, pero si puede cumplir con una fecha límite de forma determinista, es un sistema operativo en tiempo real duro.

Un RTOS tiene un algoritmo avanzado para la programación. La flexibilidad del planificador permite una orquestación más amplia del sistema informático de las prioridades de los procesos, pero un sistema operativo en tiempo real se dedica con mayor frecuencia a un conjunto limitado de aplicaciones. Los factores clave en un sistema operativo en tiempo real son una latencia de interrupción mínima y una latencia de conmutación de subprocesos mínima; un sistema operativo en tiempo real se valora más por la rapidez o la previsibilidad con la que puede responder que por la cantidad de trabajo que puede realizar en un período de tiempo determinado.

Esto es algo que muy pocos sistemas operativos realmente hacen, porque para muchas cargas de trabajo es simplemente menos eficiente. Ninguno de los principales sistemas operativos de consumo son ahora (o hasta donde yo sé) en tiempo real. Desafortunadamente, significa que a veces las cosas en un entorno que no es en tiempo real tienen que sentarse a esperar otras cosas. Esto solo se convierte en un problema cuando algo no rinde en un tiempo razonable, por lo general.

Actualmente, los sistemas operativos en tiempo real más conocidos y más implementados son:

LynxOS
OSE
QNX
RTLinux
VxWorks
Windows CE

Consulte la lista de sistemas operativos en tiempo real para obtener una lista completa.

Los sistemas operativos en tiempo real a menudo se utilizan para sistemas integrados, donde pueden ser responsables de algo como la orientación o la supervisión del sistema. Él key Lo que hay que recordar acerca de un sistema en tiempo real (y lo que lo diferencia de un sistema que no es en tiempo real) es que en un sistema de tiempo real, si una respuesta llega tarde, Está incorrecto. Puede ver fácilmente cómo funciona esto pensando en sumar una serie de cifras en Excel (donde si la operación se retrasa, no hay un impacto real) versus aplicar un freno en un automóvil (donde una demora podría ser catastrófica).

Básicamente, un RTOS puede garantizar que puede atender una IRQ (solicitud de interrupción) en un período de tiempo específico (generalmente bajo). Los sistemas operativos estándar no tienen esa garantía.

En la mayoría de los sistemas modernos, la mayoría de los dispositivos pueden generar una IRQ. Esto hace que la CPU detenga (es decir, sea interrumpida) lo que está haciendo y ejecute un programa de servicio de interrupción. La idea es que este programa de servicio haga lo que el dispositivo necesite, es decir, obtenga datos del dispositivo y los coloque en la RAM, le indique al dispositivo qué hacer a continuación, etc.

En x86, dado que solo tiene 1 línea IRQ en la CPU, cuando recibe una interrupción, las demás interrupciones se deshabilitan automáticamente (excepto NMI, RESET y SMI) hasta que la CPU reconozca la fuente de la interrupción y las vuelva a habilitar. Por lo tanto, los buenos controladores de dispositivos bajo el estándar i386/amd64 de Windows realizarán un procesamiento mínimo en este estado, solo lo suficiente para que esté bien volver a habilitar las interrupciones y luego diferir el procesamiento completo de la interrupción hasta más tarde (porque el sistema técnicamente solo puede atender 1 interrupción por CPU núcleo a la vez). No estoy seguro, pero creo que Linux hace lo mismo. No obstante, no se garantiza con firmeza el tiempo en el que se atenderá la interrupción.

Para la mayoría de los dispositivos de PC, como discos, teclados, NIC, si hay un ligero retraso en el servicio de su IRQ, no sucederá nada más que una pérdida de rendimiento. Esto puede ser un problema mayor para dispositivos como la entrada de audio y video, donde el dispositivo no almacena nada en el búfer y la PC realmente necesita mantenerse al día con el flujo de datos entrantes.

Aquí puedes ver las reseñas y valoraciones de los lectores

Al final de la post puedes encontrar las notas de otros desarrolladores, tú de igual manera eres capaz dejar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *