Diseño y aplicación del sistema Linux incorporado

  

I. INTRODUCCIÓN

Los sistemas integrados (sistemas integrados) integran los sistemas operativos y el software funcional en los sistemas de hardware de computadora de acuerdo con los requisitos de la aplicación. Un sistema informático que integra software y hardware. Los sistemas integrados surgieron a fines de la década de 1960 y se utilizaron originalmente para controlar interruptores telefónicos electromecánicos. Actualmente se utilizan ampliamente en la fabricación industrial, control de procesos, comunicaciones, instrumentación, instrumentación, automotriz, marina, aeroespacial, aeroespacial, equipos militares y consumidores. Hay muchos campos como los productos. El número de sistemas integrados supera con creces el número de sistemas informáticos de propósito general: la CPU central de los sistemas informáticos y la producción anual en el mundo es de aproximadamente 2 mil millones, de los cuales más del 80% se utiliza para varios tipos de sistemas incrustados especiales. El sistema

En términos generales, cualquier sistema especial de software y hardware con microprocesador puede denominarse sistema integrado. En comparación con las plataformas informáticas generales, los sistemas integrados a menudo tienen las características de función única, tamaño pequeño, bajo consumo de energía, alta confiabilidad, buena adaptación, alta integración de software y hardware, y una potencia de computación relativamente baja. Durante muchos años no hubo sistemas operativos en los dispositivos integrados. Hay dos razones principales: Primero, los dispositivos como lavadoras, hornos de microondas y refrigeradores solo necesitan un programa de control simple para administrar un número limitado de botones e indicadores. El sistema es necesario; en segundo lugar, a menudo tiene recursos de hardware limitados y no es suficiente para admitir un sistema operativo.

Sin embargo, con el desarrollo de hardware, los sistemas integrados se han vuelto cada vez más complejos, y muchas funciones se han agregado gradualmente al programa de control original, y muchas de estas funciones pueden ser proporcionadas por el sistema operativo. Por lo tanto, a fines de la década de 1970, la aparición de sistemas operativos integrados (sistemas operativos integrados) simplifica enormemente el diseño de la aplicación y puede garantizar efectivamente la calidad del software y acortar el ciclo de desarrollo. En general, un ES simple no utiliza un sistema operativo y solo contiene algunos procesos de control. Sin embargo, a medida que el sistema operativo incorporado aumenta su complejidad, el control simple del proceso no puede cumplir los requisitos del sistema. Software del sistema. Por lo tanto, el sistema operativo incorporado entró en vigor.

Con la amplia aplicación de EOS, la industria ha lanzado algunos productos EOS con aplicaciones relativamente exitosas. En resumen, EOS debe tener las siguientes características: compacto, en tiempo real, cargable, código solidificado, interactividad débil, estabilidad sólida y una interfaz unificada. Los productos EOS más utilizados incluyen: Vxwork, QNX, PalmOS, WindowsCE, pSOS y Hopen OS (desarrollado por el grupo Kaisi nacional). Entre ellos, Vxwork es el más utilizado y tiene la mayor participación de mercado. Su característica destacada es su sólido desempeño en tiempo real (utilizando los mecanismos de prioridad prioritaria y programación de rotación). Además, su confiabilidad y capacidad de adaptación también son bastante buenas. QNX es un sistema altamente escalable con un entorno POSIX central más en tiempo real y un sistema de ventanas completo de menos de un megabyte. En contraste, el núcleo de Microsoft WinCE es enorme y su rendimiento en tiempo real no es satisfactorio. Sin embargo, debido a la interfaz fácil de usar de la familia Windows y la API familiar para los programadores, y la aplicación de aplicaciones como IE y Office, está ganando gradualmente un mercado más amplio. Compartir. En comparación con estos sistemas operativos comerciales, Linux ha recibido cada vez más atención.

Segundo, descripción general de Linux incorporada

Linux es un sistema operativo de red maduro y estable. La implantación de Linux en dispositivos integrados tiene numerosas ventajas. En primer lugar, el código fuente de Linux es abierto, y cualquiera puede obtenerlo y modificarlo para desarrollar sus propios productos. En segundo lugar, el Lirmx es personalizable, con un núcleo de sistema de al menos 134kB. Un programa central con un sistema chino y una interfaz gráfica de usuario también puede tener menos de 1 MB y es igualmente estable. Además, es compatible con la mayoría de los sistemas Unix, y el desarrollo y la adaptación de aplicaciones es bastante fácil. Al mismo tiempo, debido a su buena portabilidad, Linux se ha ejecutado con éxito en cientos de plataformas de hardware.

Sin embargo, Linux no está diseñado para aplicaciones en tiempo real, por lo que si desea ejecutar Linux en un sistema integrado con altos requisitos de tiempo real, debe agregar módulos de software en tiempo real. El espacio del kernel en el que se ejecutan estos módulos es parte de la implementación del sistema operativo de la programación de procesos, el manejo de interrupciones y la ejecución de programas, por lo que un código erróneo puede corromper el sistema operativo y afectar la confiabilidad y estabilidad de todo el sistema. Las muchas ventajas de Linux aún lo hacen ampliamente utilizado en el campo integrado, y hay una gran cantidad de sistemas Linux integrados. Los representantes incluyen: uClinux, ETLinux, ThinLinux, LOAF, etc. ETLinux se usa comúnmente en computadoras industriales pequeñas, especialmente en módulos PC /104. ThinLinux está dirigido a servidores de cámara dedicados, controladores X-10, reproductores de MP3 y otras aplicaciones integradas similares. LOAF es un acrónimo de Linux On A Floppy, que se ejecuta en la plataforma 386.

Tercero, Linux como una ventaja del sistema operativo integrado

Linux como un sistema operativo incorporado tiene las siguientes ventajas:

1, se puede aplicar a una variedad de hardware Plataforma Linux se ha trasladado a una variedad de plataformas de hardware, lo cual es atractivo para proyectos de investigación y desarrollo limitados en el tiempo y fondos. Los prototipos se pueden trasladar a hardware específico después del desarrollo en una plataforma estándar, lo que acelera el desarrollo de software y hardware. Linux usa un marco unificado para administrar el hardware, y los cambios de una plataforma de hardware a otra son independientes de la aplicación superior. Linux puede configurarse a voluntad, sin ninguna licencia o asociación comercial, el código fuente es gratuito. Esto hace que Linux se use como un sistema operativo sin ninguna disputa sobre los derechos de autor. No hay duda de que esto ahorrará muchos costos de desarrollo. El soporte de red incorporado en sí mismo, y el sistema integrado actual requiere cada vez más soporte de red. El alto grado de modularidad de Linux facilita la adición de componentes.

2, Linux es un control de acceso de memoria total, similar a Unix, basado en kernel, que admite una gran cantidad de hardware (incluidos X86, Alpha, ARM y Motorola y otros chips existentes) y otras características Un sistema operativo de propósito general. El código fuente del programa es completamente público y puede ser modificado por cualquier persona y distribuido bajo la Licencia Pública General de GNU. De esta manera, los desarrolladores pueden personalizar el sistema operativo para satisfacer sus necesidades específicas.

3, Linux con sofisticadas herramientas de desarrollo conocidas por los usuarios de Unix, casi todas las aplicaciones del sistema Unix se han portado a Linux. Linux también proporciona potentes funciones de red y una variedad de administradores de ventanas seleccionables (X Windows). Su potente compilador de lenguaje GCC, C ++, etc. también se puede obtener fácilmente, no solo maduro sino también fácil de usar.

Cuarto, el establecimiento de Linux incorporado.

La solución Linux integrada completa debe incluir el núcleo del sistema operativo Linux integrado, el entorno operativo, la interfaz gráfica y el software de la aplicación. Debido a los requisitos especiales de los dispositivos integrados, el kernel, el entorno, la GUI, etc. en la solución Linux integrada son muy diferentes de los estándares de Linux. El principal desafío es cómo implementar tareas de alta calidad en FLASH pequeño, ROM y memoria. Programación, visualización gráfica, comunicación en red y otras funciones.

1. Optimice el núcleo

El núcleo de Linux tiene su propia arquitectura, en la que la gestión de procesos, la gestión de la memoria y el sistema de archivos son los tres subsistemas básicos. La figura 1 muestra su marco en pocas palabras. Los procesos de usuario pueden acceder a los recursos del kernel directamente a través de llamadas al sistema o bibliotecas de funciones. Debido a que el kernel de Linux tiene una estructura de este tipo, es necesario prestar atención a la coordinación entre los distintos subsistemas cuando se modifica el kernel.

El kernel de Linux incorporado se adapta normalmente a partir del kernel de Linux estándar. Los usuarios pueden configurar el sistema según sus necesidades, eliminando funciones de servicio, sistemas de archivos y controladores de dispositivo innecesarios. Después de cortar y comprimir, el kernel del sistema es generalmente solo de unos 300k, lo que es muy adecuado para dispositivos integrados. A diferencia de Linux estándar, Linux incorporado debe iniciarse desde FLASH o ROM. El código de inicio estándar de Linux implementa la inicialización del sistema y arranca el núcleo desde disquetes y unidades de disco duro. Linux incorporado generalmente se almacena en FLASH o ROM, y no se puede iniciar LILO estándar. En los sistemas que admiten el arranque directo desde dispositivos FLASH, como el uClinux de Huaheng, el gestor de arranque completa principalmente la inicialización del sistema de hardware y la descompresión y cambio del sistema operativo. En los sistemas que no admiten el arranque directamente desde FLASH, los dispositivos FLASH solo pueden usarse como discos que no son de arranque. En este punto, primero puede cargar un pequeño sistema operativo desde el disco duro o disquete, como el DOS integrado, y luego ejecutar el cargador "Loadlin" para arrancar Linux incrustado desde FLASH.

Las modificaciones a Linux estándar son principalmente cambios en la memoria virtual y en las secciones del programador. Debido a que el sistema Linux estándar utiliza la administración de memoria virtual para ejecutar varios procesos al mismo tiempo, el intervalo de tiempo de la CPU que se puede asignar por cada proceso en ejecución es limitado y la eficiencia de uso de recursos es baja. De esta manera, para los sistemas integrados con altos requisitos de tiempo real, las tareas en tiempo real a menudo requieren que las CPU tengan un alto poder de procesamiento de ráfagas, es decir, en algunos casos se requiere una eficiencia de procesamiento extremadamente alta, por lo que el mecanismo de administración de memoria virtual del kernel debe ser protegido. Para sistemas integrados sin dispositivos de disco duro, la administración de memoria virtual no es necesaria. Las aplicaciones integradas con fuertes requisitos de tiempo real se pueden implementar modificando el módulo de programación de tareas, principalmente agregando muchos puntos de conmutación al núcleo y a los controladores de dispositivos. En este punto, el sistema detecta si hay interrupciones de emergencia no manejadas, y luego priva al núcleo de su funcionamiento y procesa las interrupciones de manera oportuna. Una mejor manera de implementar servicios en tiempo real es agregar un kernel en tiempo real al kernel estándar de Linux.El kernel estándar de Linux se ejecuta como una tarea en el kernel en tiempo real, y las tareas en tiempo real se ejecutan directamente en el kernel en tiempo real, como RT-Linux. Espera

El sistema de archivos es esencial para el sistema operativo Linux incorporado. Sin embargo, Linux estándar admite una gran cantidad de sistemas de archivos, por lo que además de conservar una de las necesidades operativas normales del sistema, todos los demás pueden eliminarse y pueden eliminarse utilizando las opciones de configuración originales. El sistema general de archivos de dispositivos integrados utiliza principalmente la tecnología RamDisk y la tecnología de sistemas de archivos en red. RamDisk puede residir en Flash y cargarse en la memoria en tiempo de ejecución.

Copyright © Conocimiento de Windows All Rights Reserved