Red de conocimiento informático - Conocimiento informático - ¿Qué es un sistema operativo en tiempo real?

¿Qué es un sistema operativo en tiempo real?

Pregunta 1: ¿Cuál es la diferencia entre un sistema operativo duro en tiempo real y un sistema operativo blando en tiempo real? Hay alrededor de 40 sistemas operativos integrados comunes en el mundo, como Linux, uClinux, WinCE, PalmOS, Symbian, eCos, uCOS-II, VxWorks, pSOS, Nucleus, ThreadX, Rtems, QNX, INTEGRITY, OSE, C Executive. Básicamente se pueden dividir en dos categorías. Una son los sistemas operativos en tiempo real utilizados en control, comunicación y otros campos, como vxworks de la empresa windriver, psos de la empresa isi, qnx de la empresa de software del sistema qnx, núcleo de la empresa ati, etc. .; el otro es La clase es un sistema operativo no en tiempo real utilizado para productos electrónicos de consumo, incluidos asistentes digitales personales (PDA), teléfonos móviles, decodificadores, libros electrónicos, teléfonos de Internet, etc. WinCE de Microsoft, Palm y Symbian de 3, Android de Google, etc.

(1) VxWorks

El sistema operativo VxWorks es un sistema operativo integrado en tiempo real (RTOS) diseñado y desarrollado por la American WindRiver Company en 1983. Es una parte importante de los componentes del entorno de desarrollo integrado Tornado. Con sus buenas capacidades de desarrollo continuo, su kernel de alto rendimiento y su entorno de desarrollo fácil de usar, ha ido ocupando gradualmente un lugar en el campo de los sistemas operativos integrados en tiempo real.

VxWorks tiene una estructura de microkernel personalizable; gestión eficiente de tareas; comunicación flexible entre tareas; procesamiento de interrupciones a nivel de microsegundos; admite el estándar de extensión en tiempo real POSIX 1003.1b, admite múltiples medios físicos y estándares; Protocolo de red IP.

Sin embargo, tiene un coste elevado. Dado que el sistema operativo en sí y el entorno de desarrollo son propietarios, el precio es generalmente más alto. Por lo general, cuesta más de 00.000 yuanes establecer un entorno de desarrollo utilizable y generalmente se cobra una tarifa de derechos de autor por cada aplicación. Generalmente, no se proporciona código fuente, sólo código binario. Debido a que es un sistema operativo profesional, requiere personal profesional y técnico para dominar la tecnología de desarrollo y el mantenimiento, por lo que el costo del desarrollo y mantenimiento del software es muy alto. Hay una cantidad limitada de hardware compatible. (2) Windows CE

Windows CE tiene buena compatibilidad con la serie Windows, lo que sin duda es una gran ventaja en la promoción de Windows CE. Entre ellos, WinCE3.0 es un sistema operativo integrado modular en tiempo real, adecuado para dispositivos inteligentes, móviles, inteligentes, de 32 bits y de pequeña capacidad. Proporciona una plataforma de sistema operativo rica en funciones para crear aplicaciones y servicios dinámicos para dispositivos portátiles e inalámbricos. Puede ejecutarse en una variedad de arquitecturas de procesador y generalmente es adecuado para dispositivos que tienen ciertas limitaciones en el uso de memoria. Es un sistema operativo multitarea, de prioridad total y multiproceso diseñado desde el principio para plataformas con recursos limitados. Su diseño modular permite personalizarlo para una variedad de dispositivos electrónicos de consumo, desde computadoras portátiles hasta controladores industriales especializados. El núcleo base del sistema operativo requiere al menos 200 KB de ROM. Debido a los estrictos requisitos de tamaño y coste de los productos integrados, la parte del procesador debe ocupar el menor espacio posible. La memoria disponible del sistema y la capacidad de almacenamiento externo también deben ser limitadas, y los sistemas operativos integrados se ejecutan en una memoria limitada (normalmente ROM o memoria flash), lo que impone altas exigencias a la escala y eficiencia del sistema operativo. Desde una perspectiva técnica, Windows CE tiene muchos defectos como sistema operativo integrado: no tiene código fuente abierto, lo que dificulta a los desarrolladores de aplicaciones personalizar los productos; no funciona bien en términos de eficiencia y consumo de energía, y ocupa mucho espacio; demasiada memoria del sistema como Windows, el uso del programa es enorme; las tarifas de licencia de derechos de autor también son factores que los fabricantes deben considerar.

(3) Linux integrado

Este es un nuevo miembro del sistema operativo integrado. Su característica más importante es que su código fuente es abierto y sigue el acuerdo GPL. Se ha convertido en un punto de investigación en el último año. Así, según IDG se prevé que Linux integrado representará el 50% de la cuota de sistemas operativos integrados en los próximos dos años.

Como el código fuente es público, las personas pueden modificarlo para adaptarlo a sus propias aplicaciones y es fácil comprobar si hay errores. Cumple con GPL y no se requiere tarifa de licencia para cada aplicación. Hay toneladas de aplicaciones disponibles. La mayoría de ellos cumplen con la GPL, son de código abierto y gratuitos. Se pueden adaptar al propio sistema del usuario. Hay muchísimos sistemas gratuitos excelentes... gt;gt;

Pregunta 2: ¿Qué es un sistema operativo en tiempo real? Un sistema operativo en tiempo real es un sistema operativo cuyo rendimiento está garantizado. una función específica dentro de un plazo determinado. Los sistemas operativos en tiempo real se dividen en tiempo real duro y tiempo real suave. El tiempo real duro requiere que las operaciones se completen dentro de un tiempo específico, lo cual está garantizado en el diseño del sistema operativo en tiempo real suave; ser lo más rápido posible de acuerdo con la prioridad de la tarea. Complete la operación rápidamente. El sistema operativo que utilizamos habitualmente puede convertirse en un sistema operativo en tiempo real después de algunos cambios.

Por ejemplo, se podría diseñar un sistema operativo para garantizar que un robot en una línea de producción pueda adquirir un objeto. En un sistema operativo "duro" en tiempo real, si los cálculos para hacer que el objeto sea accesible no se pueden completar dentro del tiempo permitido, el sistema operativo finalizará con un error. En un sistema operativo "suave" en tiempo real, la línea de producción continúa funcionando, pero la salida del producto se ralentiza debido a la imposibilidad de alcanzar el producto dentro del tiempo permitido, lo que provoca que el robot no pueda producir durante un tiempo. corto período de tiempo. Algunos sistemas operativos en tiempo real están diseñados para aplicaciones específicas, mientras que otros son de propósito general. Algunos sistemas operativos de propósito general se denominan a sí mismos sistemas operativos en tiempo real. Pero de alguna manera, la mayoría de los sistemas operativos de propósito general como Windows NT de Microsoft o OS/390 de IBM tienen las características de sistemas en tiempo real. Es decir, incluso si los sistemas operativos no son estrictamente sistemas en tiempo real, aún pueden manejar algunas aplicaciones en tiempo real.

A grandes rasgos, un sistema operativo en tiempo real (RTOS) requiere:

Multitarea

Manejar una línea de procesos priorizados

Suficiente número de niveles de interrupción

Los sistemas operativos pequeños que forman parte de dispositivos diminutos a menudo requieren un sistema operativo en tiempo real. Para satisfacer las necesidades de un sistema operativo en tiempo real, se pueden considerar algunas cuestiones fundamentales. Sin embargo, los sistemas operativos en tiempo real tienden a ser más grandes que el núcleo porque los métodos específicos a menudo requieren componentes adicionales, como controladores de dispositivos.

Pregunta 3: ¿Qué es un sistema operativo en tiempo real? Un sistema operativo en tiempo real es un sistema operativo que garantiza la ejecución de funciones específicas dentro de un límite de tiempo determinado. Los sistemas operativos en tiempo real se dividen en tiempo real estricto y tiempo real flexible. El tiempo real duro requiere que la operación se complete dentro de un tiempo específico, lo cual se garantiza durante el diseño del sistema operativo, mientras que el tiempo real suave solo requiere que la operación se complete lo antes posible de acuerdo con la prioridad de la tarea; . Generalmente usamos...

Pregunta 4: ¿Cuáles son los sistemas operativos en tiempo real? 1 Actualmente, los sistemas operativos actuales son PC: Windows; Mac os; /p>

Pregunta 5: Tareas en tiempo real en sistemas operativos en tiempo real Debe haber algunas tareas en tiempo real en sistemas operativos en tiempo real. Estas tareas generalmente están relacionadas con algunos dispositivos externos y pueden responder a la realidad. tiempo de funcionamiento del sistema. Estas tareas suelen estar asociadas a algunos dispositivos externos y pueden responder o controlar los dispositivos externos correspondientes, por lo que tienen un cierto grado de urgencia. Las tareas en tiempo real se pueden clasificar desde diferentes perspectivas. 1. Dividir según si la ejecución de la tarea muestra cambios periódicos: a. Tareas periódicas en tiempo real. El dispositivo externo envía periódicamente una señal de excitación a la computadora, requiriendo que se ejecute en un ciclo específico para controlar periódicamente ciertos externos. dispositivos. b. Tareas no periódicas en tiempo real Las señales de excitación enviadas por dispositivos externos no tienen una periodicidad clara, sino que deben estar asociadas a plazos.

Se puede subdividir en dos partes: fecha límite de inicio (la tarea debe comenzar a ejecutarse antes de un tiempo determinado) y fecha límite de finalización (la tarea debe completarse antes de un tiempo determinado). 2. Divida según los requisitos de fecha límite: a. Tareas difíciles en tiempo real b. Tareas suaves en tiempo real

Pregunta 6: ¿Cuáles son los sistemas operativos Windows en tiempo real, Windows7, Windows8, Windows10? al menos estos tres.

Pregunta 7: Comparación de sistemas operativos en tiempo real Comparación de las características de los sistemas en tiempo real y los sistemas de tiempo compartido (1) Reusabilidad. Los sistemas de procesamiento de información en tiempo real tienen la misma reutilización que los sistemas de tiempo compartido. El sistema sirve a múltiples usuarios finales a través del principio de tiempo compartido; para los sistemas de control en tiempo real, su reutilización se refleja principalmente en la recopilación frecuente de múltiples información en el sitio y el control de múltiples objetos o múltiples actuadores. (2) Independencia. Los sistemas de procesamiento de información en tiempo real tienen la misma independencia que los sistemas de tiempo compartido. Cuando cada usuario final realiza una solicitud de servicio al sistema de tiempo compartido, es independiente de la operación de la otra parte y no interfiere entre sí y cuando recopila información y controla objetos en el sistema de control en tiempo real, no interfiere; unos con otros. (3) Puntualidad. Los requisitos en tiempo real del sistema de información en tiempo real son similares a los del sistema de tiempo compartido, que están determinados por el tiempo de espera aceptable, la puntualidad del sistema de control en tiempo real está determinada por la fecha límite de inicio o; El plazo de finalización requerido por el objeto de control es generalmente de segundos, cientos de milisegundos e incluso milisegundos, y algunos incluso menos de 100 microsegundos. (4) Interactividad. Los sistemas de procesamiento de información en tiempo real son interactivos, pero la interacción entre las personas y el sistema se limita al acceso a ciertos programas de servicios especializados en el sistema. No es como un sistema de tiempo compartido que puede proporcionar a los usuarios finales servicios de procesamiento de datos, disfrute de recursos y otros servicios. (5) Confiabilidad. Los sistemas de tiempo compartido requieren que los sistemas sean confiables, mientras que los sistemas en tiempo real requieren que los sistemas sean altamente confiables. Porque cualquier error puede traer enormes pérdidas económicas o incluso consecuencias catastróficas impredecibles. Por lo tanto, en los sistemas en tiempo real, se deben tomar medidas de tolerancia a fallas de múltiples niveles para garantizar la seguridad del sistema y de los datos.

Pregunta 8: La diferencia entre un sistema operativo integrado en tiempo real y un sistema operativo integrado en tiempo real. El sistema operativo utilizado en un sistema integrado en tiempo real se denomina sistema operativo integrado en tiempo real. Sistema operativo integrado y un sistema de operación en tiempo real. Como sistema operativo integrado, tiene las características únicas del software integrado, como personalización, bajo consumo de recursos, bajo consumo de energía, etc. Como sistema operativo en tiempo real (la discusión de las características de los sistemas operativos en tiempo real en este artículo se limita a sistemas operativos en tiempo real sólidos, los sistemas operativos en tiempo real mencionados a continuación también se refieren a sistemas operativos en tiempo real sólidos) , es similar a los sistemas operativos de propósito general (como Windows, Unix, Linux, etc.) Es muy diferente en comparación con los sistemas operativos de propósito general como Windows, Unix, Linux, etc. A continuación se presentarán gradualmente las funciones principales del sistema operativo en tiempo real comparando las diferencias entre estos dos tipos de sistemas operativos.

El sistema operativo con el que entramos en contacto con más frecuencia en nuestro entorno diario de trabajo y estudio es un sistema operativo de propósito general, que evolucionó a partir de un sistema operativo de tiempo compartido. La mayoría de ellos admiten multiusuarios y. Son multiprocesos y son responsables de gestionar una gran cantidad de procesos y asignarles recursos del sistema. El principio de diseño básico de un sistema operativo de tiempo compartido es acortar el tiempo de respuesta promedio tanto como sea posible, mejorar la tasa de rendimiento del sistema y brindar servicios a tantas solicitudes de usuarios como sea posible en una unidad de tiempo. Se puede ver que el sistema operativo de tiempo compartido se centra en el rendimiento promedio en lugar del rendimiento individual. Por ejemplo, para todo el sistema, se centra en el tiempo de respuesta promedio de todas las tareas, sin importar el tiempo de respuesta de una sola tarea, se centra en el tiempo de respuesta promedio de cada ejecución, independientemente de la específica; Tiempo de respuesta de ejecución. Muchas estrategias y técnicas utilizadas en sistemas operativos de propósito general incorporan este principio de diseño. Por ejemplo, el mecanismo de administración de memoria virtual utiliza algoritmos de reemplazo de páginas como LRU, de modo que la mayoría de los requisitos de acceso se pueden completar rápidamente a través de la memoria física, y solo una cantidad muy pequeña de requisitos de acceso deben completarse mediante la transferencia de páginas, pero en general, A diferencia de no utilizar memoria virtual, en comparación con la tecnología, el tiempo de acceso promedio no ha mejorado mucho.

Al mismo tiempo, el espacio virtual puede ser mucho mayor que la capacidad de la memoria física, por lo que la tecnología de memoria virtual se usa ampliamente en los sistemas operativos generales. Hay muchos ejemplos similares, como el mecanismo de consulta de índice indirecto para ubicaciones de almacenamiento de archivos en el sistema de archivos Unix. Incluso la tecnología de caché en el diseño de hardware y la tecnología de predicción de ramas dinámicas de la CPU también reflejan este principio de diseño. Se puede ver que el impacto de este principio de diseño que se centra en el rendimiento promedio, es decir, las características estadísticas de rendimiento, es de gran alcance.

El sistema operativo en tiempo real, RTOS (Real-Time Operating System), se refiere a la capacidad y velocidad de procesar eventos o datos externos cuando se generan, y de procesar los resultados del procesamiento dentro del tiempo especificado. Proporcionar una respuesta rápida para controlar el proceso de producción o el sistema de procesamiento y controlar la operación coordinada de todas las tareas en tiempo real. Sistema operativo. Para un sistema operativo en tiempo real, hemos mencionado antes que debe cumplir tanto con los requisitos funcionales de la aplicación como con los requisitos en tiempo real de la aplicación. Las muchas tareas en tiempo real que componen una aplicación tienen diferentes requisitos en tiempo real. Además, también puede haber algunas correlaciones y relaciones de sincronización complejas entre tareas en tiempo real, como restricciones en el orden de ejecución, requisitos de acceso mutuamente excluyentes a recursos compartidos por usuarios, etc., lo que genera grandes dificultades para garantizar el rendimiento en tiempo real. del sistema. Por lo tanto, el principio de diseño más importante que sigue un sistema operativo en tiempo real es garantizar siempre la previsibilidad del comportamiento del sistema mediante el uso de diversos algoritmos y estrategias. La llamada previsibilidad significa que en cualquier momento y bajo cualquier circunstancia cuando el sistema se está ejecutando, la estrategia de asignación de recursos del sistema operativo en tiempo real puede asignar recursos razonablemente a múltiples tareas en tiempo real que compiten por recursos (incluidas CPU, memoria, ancho de banda de la red, etc.) satisfaciendo así los requisitos en tiempo real de cada tarea en tiempo real. A diferencia de los sistemas operativos de propósito general, los sistemas operativos en tiempo real no se preocupan por el rendimiento promedio del sistema, sino más bien por los requisitos que cada tarea en tiempo real debe cumplir con sus requisitos en tiempo real en el peor de los casos. , los sistemas operativos en tiempo real se ocupan del rendimiento individual o, más precisamente, de un único rendimiento en el peor de los casos. Por ejemplo, si un sistema operativo en tiempo real adopta tecnología de memoria virtual estándar, el peor de los casos para la ejecución de tareas en tiempo real es que cada acceso a la memoria requiera una transferencia de página, por lo que el tiempo de ejecución acumulativo de la tarea en el peor de los casos es impredecible. y no se puede garantizar la naturaleza en tiempo real de la tarea. Se puede ver que la tecnología de memoria virtual ampliamente utilizada en sistemas operativos de propósito general no es adecuada para su adopción directa en sistemas operativos en tiempo real.

Dado que los principios básicos de diseño de los sistemas operativos en tiempo real y los sistemas operativos de propósito general son muy diferentes, la elección de muchas estrategias de programación de recursos... gt; 9: Características del sistema operativo en tiempo real 1) Sistema de sincronización de alta precisión La precisión de la sincronización es un factor importante que afecta el rendimiento en tiempo real. En aplicaciones en tiempo real, a menudo es necesario determinar con precisión el funcionamiento de un dispositivo o la ejecución de una tarea en tiempo real, o calcular con precisión una función del tiempo. Estos no solo dependen de cierto hardware para proporcionar precisión del reloj, sino que también dependen del sistema operativo en tiempo real para lograr funciones de sincronización de alta precisión. 2) Mecanismo de interrupción multinivel Un sistema de aplicación en tiempo real generalmente necesita procesar diversa información o eventos externos, pero la urgencia del procesamiento se divide en prioridades. Algunos deben responder de inmediato, mientras que otros pueden demorarse. Por lo tanto, es necesario establecer un mecanismo de procesamiento de anidamiento de interrupciones de múltiples niveles para garantizar una respuesta y un procesamiento oportunos de eventos en tiempo real con un alto grado de urgencia. 3) Mecanismo de programación en tiempo real El sistema operativo en tiempo real no solo debe responder a interrupciones de eventos en tiempo real de manera oportuna, sino también programar y ejecutar tareas en tiempo real de manera oportuna. Sin embargo, la programación del procesador no puede ser arbitraria porque implica cambiar entre dos procesos. Solo cuando se garantiza el punto de tiempo de "cambio seguro", el mecanismo de programación en tiempo real incluye dos aspectos: uno es la estrategia de programación y el algoritmo. programación de tareas en tiempo real; segundo, establecer más mecanismos de programación en tiempo real, incluidos dos aspectos: primero, garantizar la programación prioritaria de tareas en tiempo real en términos de estrategias y algoritmos de programación; segundo, establecer más puntos de tiempo de "cambio seguro"; Garantizar la programación oportuna de tareas en tiempo real.

Características de los sistemas operativos en tiempo real La rama UNIX en tiempo real del IEEE cree que un sistema operativo en tiempo real debe tener los siguientes puntos: 1. Respuesta a eventos asincrónicos 2. Determinación del tiempo de conmutación y tiempo de retardo de interrupción 3. Interrupciones y programación de prioridad 4 Programación preventiva