¿Qué es un sistema operativo integrado?
El sistema operativo integrado EOS (Embedded) es un software de sistema ampliamente utilizado en el pasado, principalmente en los campos del control industrial y los sistemas de defensa. EOS es responsable de asignar y programar todos los recursos de software y hardware del sistema integrado, controlar y coordinar las actividades concurrentes, debe reflejar las características del sistema en el que se encuentra y puede lograr las funciones requeridas por el sistema mediante la carga y descarga; ciertos módulos. Actualmente, se han lanzado algunas series de productos EOS con aplicaciones relativamente exitosas. Con el desarrollo de la tecnología de Internet, la popularización y aplicación de los dispositivos de información y la miniaturización y especialización de EOS, EOS ha comenzado a desarrollarse desde una única función débil hasta una función fuerte y altamente especializada. Los sistemas operativos integrados tienen características sobresalientes en términos de eficiencia del sistema en tiempo real, dependencias relacionadas con el hardware, solidificación del software y especificidad de las aplicaciones. En comparación con los sistemas operativos generales, EOS además de tener las funciones más básicas de los sistemas operativos generales, como programación de tareas, mecanismo de sincronización, procesamiento de interrupciones, funciones de archivos, etc., también tiene las siguientes características:
(1) Capacidad de carga. Arquitectura abierta y escalable.
(2) Sólido rendimiento en tiempo real. EOS generalmente tiene un sólido rendimiento en tiempo real y puede usarse para el control de varios equipos.
(3) Interfaz unificada. Proporciona varias interfaces de controlador de dispositivo.
(4) Operación conveniente y simple, proporciona GUI gráfica amigable, interfaz gráfica, búsqueda de fácil aprendizaje y uso.
(5) Proporciona una potente función de red admite el protocolo TCP y otros protocolos, proporciona soporte para el protocolo TCP/UDP/IP/PPP y una interfaz de capa de acceso MAC unificada, y reserva interfaces para varios dispositivos informáticos móviles.
(6) Fuerte estabilidad, interactividad débil. Una vez que el sistema integrado comienza a ejecutarse, no requiere demasiada intervención del usuario, lo que requiere que el EOS responsable de la administración del sistema tenga una gran estabilidad. La interfaz de usuario de un sistema operativo integrado generalmente no proporciona comandos de operación. Proporciona servicios a los programas de usuario a través de comandos de llamada al sistema.
(7) Solidificar el código. En los sistemas integrados, el sistema operativo integrado y el software de aplicación están solidificados en la ROM de la computadora del sistema integrado. La memoria auxiliar rara vez se utiliza en los sistemas integrados, por lo que las funciones de administración de archivos del sistema operativo integrado deberían poder eliminarse y reemplazarse fácilmente con varios sistemas de archivos de memoria.
(8) Mejor adaptabilidad del hardware, es decir , buena portabilidad.
Existen alrededor de 40 tipos de sistemas operativos integrados que se utilizan en dispositivos de información a nivel internacional. Ahora, los productos EOS más populares en el mercado incluyen Palm OS, una subsidiaria de 3Corn, que tiene una participación global del 50%, y MicroS. El viento de la compañía fi. Fue CE pero 29%. En el mercado estadounidense, Palm OS supera con creces a Windows CE con una cuota del 80%. Linux de código abierto es muy adecuado para el desarrollo de dispositivos de información.
Por ejemplo: Hongqi Embedded Linux desarrollado por Zhongke Hongqi Software Technology Co., Ltd. y la operación integrada basada en Xlinux desarrollada por American Nethu Company System "Cuarc". "Quark" es actualmente el Linux más pequeño del mundo. Tiene dos características destacadas: su pequeño tamaño y el uso de codificación GCS.
Los sistemas integrados comunes incluyen: Linux, uClinux, WinCE, PalmOS, Symbian, eCos, uCOS-II, VxWorks, pSOS, Nucleus, ThreadX, Rtems, QNX, INTEGRITY, OSE, C Executive.
El desarrollo de sistemas operativos integrados
1. Introducción
Los sistemas operativos integrados son inseparables de los sistemas integrados. El sistema integrado se compone principalmente de cuatro partes: un microprocesador integrado, dispositivos de hardware periféricos, un sistema operativo integrado y aplicaciones de usuario. Es un "dispositivo" que integra software y hardware y puede funcionar de forma independiente.
El desarrollo de la tecnología integrada ha pasado aproximadamente por cuatro etapas [1].
La primera etapa es un sistema en forma de controlador programable con un solo chip como núcleo, que también tiene las funciones de cooperar con equipos de monitoreo, servo e indicación. La mayor parte de este tipo de sistema se utiliza en algunos sistemas de control industrial altamente profesionales. Generalmente, no hay soporte del sistema operativo. El sistema se controla directamente mediante programación en lenguaje ensamblador y la memoria se borra una vez completada la operación.
La segunda etapa es un sistema integrado basado en una CPU integrada y un sistema operativo simple como núcleo. El sistema operativo en esta etapa tiene cierta compatibilidad y escalabilidad, pero la interfaz de usuario no es lo suficientemente amigable.
La tercera etapa es el sistema integrado marcado por el sistema operativo integrado. Las características principales del sistema en esta etapa son: el sistema operativo integrado puede ejecutarse en varios tipos de microprocesadores y tiene buena compatibilidad; el núcleo del sistema operativo es pequeño, altamente eficiente y tiene un alto grado de modularidad y escalabilidad; tiene funciones como administración de archivos y directorios, soporte de dispositivos, multitarea, soporte de red, ventanas gráficas e interfaces de usuario, tiene una gran cantidad de interfaces de programas de aplicación (API), lo que facilita el desarrollo de aplicaciones y tiene muchas funciones integradas; software de aplicación.
La cuarta etapa es el sistema integrado basado en Internet, que es una etapa que se está desarrollando rápidamente. En la actualidad, la mayoría de los sistemas integrados todavía están aislados de Internet. Sin embargo, con el desarrollo de Internet y la integración cada vez más estrecha de la tecnología de Internet con los dispositivos de información, la tecnología de control industrial, etc., la combinación de dispositivos integrados e Internet representará. el verdadero futuro de la tecnología integrada [2].
El desarrollo de sistemas integrados ha planteado mayores requisitos para los sistemas operativos integrados. Por lo tanto, una investigación en profundidad sobre la estructura, el diseño, la interfaz de usuario y otros aspectos de los sistemas operativos integrados contribuirá a la aplicación y el desarrollo de sistemas integrados.
2. Características de los sistemas operativos integrados
2.1 Dependencia de los desarrolladores de sistemas integrados de los sistemas operativos
Los primeros dispositivos de hardware eran muy simples y las herramientas de programación y depuración de software también eran primitivas. El sistema debe escribirse desde cero. La mayoría de los programas utilizan lenguaje ensamblador de macros y la depuración es algo muy problemático. A medida que los sistemas se vuelven cada vez más complejos, los sistemas operativos se vuelven necesarios.
(1) El sistema operativo puede gestionar eficazmente recursos del sistema cada vez más complejos.
(2) El sistema operativo puede virtualizar el hardware, liberando a los desarrolladores del tedioso mantenimiento y trasplante de controladores.
(3) El sistema operativo puede proporcionar funciones de biblioteca, controladores, conjuntos de herramientas y aplicaciones.
A finales de los años 70 aparecieron los sistemas operativos para sistemas embebidos. A finales de la década de 1980, aparecieron en el mercado varios sistemas operativos integrados comerciales conocidos, incluidos Vxwork, Neculeus, QNX y Windows CE. Estos sistemas proporcionaron entornos de desarrollo con buen rendimiento y mejoraron la eficiencia de desarrollo de los sistemas de aplicaciones.
2.2 Características de los sistemas operativos integrados
En comparación con otros tipos de sistemas operativos, los sistemas operativos integrados tienen las siguientes características.
(1) Tamaño pequeño. Los sistemas integrados se diferencian de los sistemas de procesamiento informático generales en que no tienen medios de almacenamiento de gran capacidad como los discos duros, sino que utilizan principalmente memoria flash como medio de almacenamiento. Esto requiere que el sistema operativo integrado solo pueda ejecutarse en una memoria limitada, no pueda usar memoria virtual y el uso de interrupciones también sea limitado. Por tanto, los sistemas operativos integrados deben ser compactos y de tamaño pequeño.
(2) En tiempo real. La mayoría de los sistemas integrados son sistemas en tiempo real, y la mayoría de ellos son potentes sistemas multitarea en tiempo real, lo que requiere que el sistema operativo integrado correspondiente también sea un sistema operativo en tiempo real (RTOS) [8]. Como rama importante del sistema operativo, el sistema operativo en tiempo real se ha convertido en un tema de investigación candente, que analiza principalmente el algoritmo y la programabilidad de programación de múltiples tareas en tiempo real, el alivio de interbloqueos y otros temas.
(3) Entorno especial de desarrollo y depuración. Proporcionar un entorno de desarrollo integrado completo es lo que espera todo desarrollador de sistemas integrados. Un entorno de desarrollo integrado completo para sistemas integrados generalmente proporciona herramientas como compilador/enlazador, depurador/rastreador de kernel y plataforma de desarrollo de interfaz gráfica integrada. La plataforma de desarrollo de interfaz gráfica integrada incluye editor, depurador, emulador de software y monitor.
3. El estado de desarrollo de los sistemas operativos integrados
Los sistemas operativos integrados extranjeros han pasado de la simplicidad a la madurez, incluidos principalmente Vxwork, QNX, PalmOS, Windows CE, etc.
Hay dos tipos de investigación y desarrollo de sistemas operativos integrados nacionales: un tipo se basa en el desarrollo secundario de sistemas operativos extranjeros, como el sistema decodificador de Hisense basado en Windows CE; el otro tipo es el sistema operativo integrado desarrollado independientemente en China; como el sistema operativo integrado Hopen OS ("Proyecto Nuwa") desarrollado independientemente por Kaisi Group Company, etc.
Windows CE tiene un núcleo más pequeño y puede utilizarse como sistema operativo integrado en control industrial y otros campos. Sus ventajas son la portabilidad, la elección del microprocesador y las funciones de administración de energía no forzada. Las capacidades de comunicación estándar integradas permiten a Windows CE acceder a Internet y enviar y recibir correo electrónico o navegar por la Web. Además, la interfaz de usuario única de Windows CE, similar a la de Windows, facilita su uso a los usuarios finales. Las desventajas de Windows CE son la baja velocidad, la baja eficiencia, el alto precio y la relativa dificultad para desarrollar aplicaciones.
Palm OS de 3Com ocupa una posición dominante en el mercado de computadoras portátiles y PDA. Tiene una interfaz de programa de aplicación (API) de sistema operativo abierta y los desarrolladores pueden desarrollar las aplicaciones requeridas según sea necesario.
QNX es un sistema operativo distribuido en tiempo real desarrollado por la empresa canadiense QSSL. Consta de un microkernel y un conjunto de procesos que operan de forma independiente. Es altamente escalable y se puede personalizar de forma flexible. Solo ocupa decenas de KB de memoria. Por lo tanto, puede integrarse ampliamente en aplicaciones como máquinas inteligentes, instrumentos inteligentes, decodificadores, equipos de comunicación y PDA [6][7].
Hopen OS es un sistema operativo integrado desarrollado independientemente por Kaisi Group. Consta de un pequeño núcleo y algunos módulos del sistema que se pueden personalizar según sea necesario. Su núcleo Hopen Kernel tiene generalmente un tamaño de aproximadamente 10 KB, ocupa poco espacio y tiene características de sistema en tiempo real, multitarea y multiproceso.
Entre los muchos sistemas operativos en tiempo real y productos de sistemas operativos integrados, VxWorks de WindRiver es un sistema operativo en tiempo real más distintivo [5]. VxWorks admite una variedad de estándares industriales, incluidos los protocolos de red POSIX, ANSI C y TCP/IP. En el corazón del sistema de tiempo de ejecución de VxWorks se encuentra un micronúcleo de alta eficiencia que admite una variedad de funciones en tiempo real, que incluyen multitarea rápida, soporte de interrupciones y programación preventiva y por turnos. El diseño de microkernel reduce la carga del sistema y permite una respuesta rápida a eventos externos. VxWorks se utiliza en las sondas de aterrizaje en Marte "Polar Lander", "Deep Space 2" y Mars Climate Orbiter de la NASA, que es responsable de todo el control de vuelo de la sonda de Marte, incluida la corrección del vuelo y el giro del portaaviones y el control de altitud durante el aterrizaje, etc. , y también es responsable de la recopilación de datos y las comunicaciones con la Tierra. Actualmente existen millones de dispositivos inteligentes equipados con sistemas VxWorks en todo el mundo, y sus aplicaciones incluyen Internet, telecomunicaciones y comunicaciones de datos, imágenes digitales, redes, medicina, periféricos de computadora, automóviles, control de incendios, navegación y guía, aviación, comando, control, comunicaciones e inteligencia, sonar y radar, sistemas espaciales y de misiles, simulación y pruebas y muchas otras áreas.
4. Linux
4.1 Las perspectivas de desarrollo de aplicaciones de Linux integrado
Linux es un sistema operativo de red nativo, maduro y estable. Linux es un software de código abierto y no existe una tecnología de caja negra. Cualquiera puede modificarlo o utilizarlo para desarrollar sus propios productos. Los sistemas Linux se pueden personalizar y el núcleo del sistema ahora se puede hacer muy pequeño. Un programa central con un sistema chino y una interfaz gráfica también puede tener menos de 1 MB y es igualmente estable. Como sistema de plataforma de software escalable, Linux es un excelente recurso para el desarrollo de futuros productos de dispositivos integrados. Muchos entusiastas de Linux en todo el mundo pueden brindar un sólido soporte técnico a los desarrolladores de Linux. Por tanto, Linux, como nueva opción para sistemas integrados, es muy prometedor.
(1) Estrecha integración con chips de hardware
Los dispositivos inteligentes en la era post-PC han ido desdibujando gradualmente los límites entre hardware y software El desarrollo de sistemas SOC (System On Chip). Esta es una prueba de la tendencia a la integración perfecta de software y hardware. Con el desarrollo del microcódigo dentro del chip del procesador, es posible que en el futuro aparezcan módulos de código integrados en el sistema operativo en el chip del procesador.
Una característica importante de Linux integrado es su estrecha integración con chips de hardware (como SOC, etc.). No es un sistema Linux de software puro, sino que está más cerca del hardware que de un sistema operativo general. Con el mayor desarrollo de Linux integrado, gradualmente posee todas las características de RTOS integrado: tiempo real y estrecha integración con procesadores integrados.
(2) Código fuente abierto
Otra característica importante de Linux integrado es: la apertura del código. La apertura del código es compatible con la diversidad de dispositivos inteligentes en la era post-PC. La apertura del código se refleja principalmente en la disponibilidad del código fuente. El desarrollo del código Linux es como un desarrollo "estilo de mercado", donde puede elegir e integrar nuevos productos según sus propios deseos.
Para Linux integrado, las funciones de la capa BIOS en realidad se implementan en la capa de controladores de Linux. Actualmente, en el campo de Linux, han aparecido códigos BIOS de software gratuito personalizados específicamente para el sistema operativo Linux, y dichas funciones de la capa BIOS se implementan en una variedad de placas base.
(3) La estrecha integración de Linux integrado y chips de hardware
Para muchas aplicaciones de dispositivos de información, los indicadores de rendimiento integrados son los más difíciles de cumplir. La única forma es mejorar. el rendimiento del chip de integración y densidad de montaje a resolver. Una diferencia importante entre Linux integrado y Linux estándar es la estrecha integración de Linux integrado y chips de hardware. Esta es una dificultad insuperable y también la clave para la tecnología Linux integrada. Linux integrado, como RTOS comercial dedicado, requiere escribir un BSP (Paquete de soporte de placa), que equivale a escribir el BIOS de una PC. Ésta no es solo la dificultad de Linux integrado, sino también la dificultad de desarrollo utilizando RTOS comerciales dedicados. La diversidad de chips de hardware (chips SOC o procesadores integrados) también determina el éxito del Linux integrado de código abierto. El desarrollo de sistemas integrados conducirá inevitablemente a una tendencia a una integración perfecta de software y hardware, borrando gradualmente los límites entre hardware y software. En el futuro, pueden aparecer módulos de código de sistema operativo dentro de chips SOC.
Con el desarrollo del microcódigo en el chip del procesador, los módulos de código integrados en el sistema operativo deberían aparecer en el chip del procesador en el futuro. Es obvio que el módulo tendrá buena seguridad, gran robustez y código. ejecución. Alta eficiencia y otras características. Centrándonos en el desarrollo futuro de sistemas integrados, nos basamos en una investigación en profundidad sobre la tecnología Linux integrada, una comprensión e investigación profundas sobre procesadores integrados y sistemas SOC, una investigación en profundidad sobre la tecnología EDA y la integración híbrida analógica-digital; chips de circuitos, investigación en profundidad; investigación sobre la implantación del código del sistema operativo Linux integrado en el chip SOC. Este tipo de investigación puede aliviar los difíciles requisitos de los desarrolladores de sistemas para el desarrollo de BSP y permitir que Linux integrado se convierta en un sistema operativo integrado popular, mejorando en gran medida la facilidad de uso de Linux integrado y mejorando la seguridad y estabilidad de los dispositivos altamente inteligentes desarrollados por él. También mejora en gran medida la potencia informática y la potencia de procesamiento de los dispositivos inteligentes.
4.2 Algunos productos Linux integrados [3][4]
Linux integrado generalmente está diseñado de acuerdo con los requisitos del sistema de destino integrado y consta de un pequeño núcleo y algunos módulos del sistema. que se puede reducir según sea necesario. En términos generales, el espacio ocupado por todo el sistema no excederá unos pocos M. En la actualidad, muchas universidades extranjeras, instituciones de investigación y empresas de renombre se han sumado al desarrollo de Linux integrado, y constantemente surgen productos Linux integrados más maduros.
RTLinux, un sistema operativo integrado basado en Linux estándar desarrollado por el Instituto de Tecnología de Nuevo México en los Estados Unidos, se ha utilizado con éxito en campos como la recopilación de datos espaciales de transbordadores espaciales, la medición y el control de instrumentos científicos, y procesamiento de imágenes de acrobacias cinematográficas. Los desarrolladores de RTLinux no han reescrito el kernel de Linux de acuerdo con las características del sistema operativo en tiempo real. Hacerlo supondría una carga de trabajo muy pesada y sería muy difícil garantizar la compatibilidad. Con este fin, RTLinux proporciona un kernel sofisticado en tiempo real y utiliza el núcleo estándar de Linux como un proceso del núcleo en tiempo real que se programará junto con el proceso en tiempo real del usuario. La ventaja de esto es que requiere cambios mínimos. a Linux y aprovecha al máximo las ventajas de la plataforma Linux.
Embedix, lanzado por Lineo, uno de los principales fabricantes de la industria de Linux embebido, es una distribución de Linux rediseñada en base a las características de los sistemas de aplicaciones embebidas. Embedix proporciona más de 25 servicios del sistema Linux, incluidos servidores web. El sistema requiere un mínimo de 8 M de memoria, 3 M de memoria de sólo lectura o memoria flash. Embedix se basa en el núcleo Linux 2.2 y ha sido portado con éxito a las familias de procesadores Intel X86 y PowerPC.
XLinux, lanzado por American Net Tiger Company, afirma ser el sistema Linux integrado más pequeño del mundo. El núcleo tiene solo 143 KB y todavía se está reduciendo.
El sistema operativo chino Linux integrado POCKETIX lanzado por Guangzhou Bolis Software Company, que está comprometida con el desarrollo de sistemas operativos Linux integrados y software de aplicaciones nacionales, se basa en el kernel de Linux estándar e incluye algunos que pueden ser Módulo de sistema personalizado según sea necesario. Admite los protocolos estándar Ethernet y TCP/IP, admite el estándar X Window, admite estándares internacionales para chino, proporciona funciones de administración de ventanas y escritorio, tiene un navegador WEB y un administrador de archivos, y admite la entrada inteligente de fuentes pinyin y Wubi. Puede adaptarse a una amplia gama de productos de información inteligentes, como PDA personales, teléfonos móviles WAP y decodificadores.
4.3 Varios problemas en el desarrollo de Linux integrado
(1) Trasplante de Linux. Si Linux no es compatible con la plataforma seleccionada, deberá reescribir las partes del kernel de Linux relacionadas con la plataforma de hardware para que sean compatibles con la plataforma seleccionada.
(2) Adaptación del kernel. Los productos integrados tienen relativamente pocos recursos disponibles, por lo que sus núcleos son un poco grandes en comparación con los sistemas integrados y deben recortarse a un tamaño disponible.
(3) Sistema de escritorio. Los sistemas operativos modernos no convencen sin una interfaz amigable. Los sistemas Linux de escritorio actuales utilizan el modelo tradicional de sistema X Window: estructura Cliente/Servidor. La parte relacionada con el hardware es el lado del servidor, que implementa una interfaz de visualización estándar; el programa de aplicación muestra el programa solicitando servicios al servidor. Además de esto, se implementa la función de gestión de ventanas. Pero X Window es muy grande para sistemas integrados. Ahora existe MiniGUI en China y MicroWindow en el extranjero, ambos comprometidos con el desarrollo de GUI de Linux integradas. También se está trabajando para X Window en Linux integrado.
(4) Desarrollo de drivers. El kernel de Linux se actualiza muy rápidamente y muchos de los controladores de hardware más recientes son rápidamente compatibles. Sin embargo, los campos de aplicación de los sistemas integrados son diversos y los dispositivos de hardware seleccionados también son diferentes, por lo que es imposible que todos los controladores de Linux estén disponibles. Por lo tanto, el desarrollo de controladores de dispositivos también es una tarea importante.
(5) Desarrollo de software de aplicación.
(6) Soporte chino.
5. Conclusión
En la actualidad, la mayoría de las plataformas de hardware de sistemas integrados todavía están en manos de empresas extranjeras. Los sistemas operativos integrados nacionales todavía tienen mucho trabajo por hacer en términos de contenido técnico, compatibilidad y mercado. Para hacer esto, debemos adherirnos a los derechos de propiedad independientes mientras rastreamos la última tecnología de los sistemas operativos integrados extranjeros, esforzarnos por encontrar nuestros propios puntos de avance y explorar nuestro propio camino de desarrollo.