T-Kernel es un sistema operativo en tiempo real (RTOS) de código abierto [ 4 ] diseñado para microcontroladores de 32 bits . Está estandarizado por T-Engine Forum [ 4 ] , que lo distribuye bajo el acuerdo de licencia T. También existe una implementación correspondiente , Micro T-Kernel (μT-Kernel), diseñada para sistemas embebidos con microcontroladores de 16 u 8 bits [ 5 ] .
Actualmente, su distribución corre a cargo de TRON Forum , sucesor de T-Engine Forum bajo la licencia T-License 2.2.
Historia de la familia de sistemas operativos en tiempo real TRON
En 1984, el Dr. Ken Sakamura , entonces asistente de investigación en la Universidad de Tokio , inició el proyecto TRON (Real-time Operating System Nucleus ) en dicha universidad , con el objetivo de diseñar un núcleo de sistema operativo en tiempo real (RTOS) abierto . El marco TRON busca definir una arquitectura completa para las diferentes capas de la arquitectura de computación, con el fin de satisfacer las necesidades de diversas aplicaciones. La especificación TRON industrial ( ITRON ) ha sido la arquitectura TRON más popular para la capa del núcleo del sistema operativo. La promoción de la especificación ITRON fue realizada por las diversas empresas que comercializaban las implementaciones.
Otro sistema operativo en tiempo real (RTOS) desarrollado en el Proyecto TRON se llamaba BTRON. BTRON significa Business TRON y estaba diseñado para PC de escritorio con entorno de ventanas. En 1989, Matsushita Electric Industrial Co., Ltd., ahora conocida como Panasonic Corporation , presentó una PC TRON que utilizaba este sistema operativo BTRON. Esta computadora personal tenía un chip Intel 80286 de 8 MHz y solo 2 MB de memoria, pero podía mostrar vídeo en movimiento. Además, tenía un sistema de arranque dual que podía ejecutar tanto el sistema operativo BTRON como DOS . Aunque el gobierno japonés anunció en su momento que utilizaría la PC TRON en las escuelas japonesas, el plan se abandonó, en parte debido a problemas económicos con Estados Unidos.
Sin embargo, el sistema operativo con especificación ITRON se ha utilizado en numerosos dispositivos, electrodomésticos, electrónica automotriz, robots, satélites y sistemas de automatización industrial en Japón, China y otros países. Los desarrolladores de sistemas embebidos afirman que el sistema operativo con especificación ITRON es el sistema operativo número uno para chips embebidos tanto en Japón como en Estados Unidos. [ 6 ]
T-Kernel se desarrolló como sucesor del RTOS de especificación ITRON. T-Kernel es el nombre de la especificación y, al mismo tiempo, una implementación única basada en el código fuente autorizado disponible gratuitamente en TRON Forum (anteriormente T-Engine Forum ) bajo la licencia T-License 2.2. T-Kernel se desarrolló para la plataforma de hardware T-Engine. T-Engine era, sin duda, la plataforma de computación ubicua más avanzada del mundo en el momento de su lanzamiento. [ 7 ]
Ahora algunos usuarios han comenzado la transición del sistema operativo con especificación ITRON al kernel μT .
El cohete japonés Epsilon, lanzado en septiembre de 2013, y el satélite observatorio HISAKI, puesto en órbita terrestre, utilizaron μITRON y T-Kernel respectivamente. [ 8 ] T-Kernel 2.0 se utilizó para el sistema de control de Hayabusa2, lanzado por el cohete H-IIA el 3 de diciembre de 2014. [ 9 ]
El 11 de diciembre de 2017 se anunció que se había firmado un acuerdo de transferencia de derechos de autor para la especificación μT-Kernel 2.0 con el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). [ 10 ]
El 11 de septiembre de 2018, el estándar "IEEE 2050-2018", basado en "μT-Kernel 2.0", fue aprobado oficialmente como estándar IEEE. [ 11 ]
En mayo de 2023, el IEEE reconoció el RTOS, propuesto, creado y lanzado por el Proyecto TRON, como un Hito del IEEE, titulado "Familia de sistemas operativos en tiempo real TRON, 1984". [ 12 ] La placa del Hito certificado está instalada en el campus de la Universidad de Tokio, donde Ken Sakamura inició el Proyecto TRON en 1984.
Historia temprana del núcleo T
T-Kernel se lanzó como un sistema operativo en tiempo real integrado para T-Engine. Con las actualizaciones de versión posteriores, ahora es compatible con hardware distinto de T-Engine.
T-Kernel 2.0 también es compatible con un emulador de procesador llamado QEMU. El paquete de software T-Kernel 2.0 distribuido por TRON Forum incluye QEMU (emulador para tef_em1d) configurado para emular la placa de referencia T-Engine, por lo que es posible desarrollar aplicaciones T-Kernel 2.0 en un PC únicamente.
De forma similar al sistema operativo convencional de la especificación ITRON, T-Kernel permite la programación basada en el núcleo mediante la asignación estática de memoria. Sin embargo, para lograr el propósito original de T-Engine, que es la "distribución de middleware", es deseable poder utilizar T-Kernel/Standard Extension, que permite la asignación dinámica de memoria y la programación basada en procesos.
Descripción general
Para facilitar la distribución de middleware , T-Kernel cuenta con especificaciones independientes para subsistemas y controladores de dispositivos , compatibles con distintos tipos de API de middleware. Combinando el middleware denominado T-Kernel Extension con T-Kernel, se puede crear un sistema operativo en tiempo real (RTOS) adecuado para cada aplicación. T-Monitor inicializa el hardware del equipo y gestiona la configuración de interrupciones al inicio. T-Monitor reduce la dependencia de T-Kernel con respecto al hardware y mejora la portabilidad de la aplicación.
Estructura del núcleo T
El núcleo T consta de los siguientes tres componentes desde el punto de vista de la función. [ 13 ]
T-Kernel/SO (sistema operativo)
Esto ofrece las funciones básicas de un sistema operativo en tiempo real (RTOS). (Las funciones correspondientes a las de μITRON son gestionadas principalmente por este componente).
T-Kernel/SM (administrador del sistema)
Esto ofrece funciones que incluyen la gestión de la memoria del sistema y la gestión del espacio de direcciones para administrar middleware como controladores de dispositivos y subsistemas. Este componente se ha extendido a partir de μITRON en T-Kernel.
T-Kernel/DS (compatibilidad con depurador)
Esto ofrece las funciones necesarias para que los depuradores se utilicen en las herramientas de desarrollo.
Licencia de T-Kernel
El código fuente de T-Kernel fue distribuido gratuitamente por TRON Forum bajo su propia licencia, denominada T-License. Desde septiembre de 2024, software como T-Kernel y μT-Kernel se ha publicado como código abierto bajo la T-License 2.2, y puede utilizarse gratuitamente, incluso para uso comercial. [ 14 ] Con la T-License original, el código fuente podía modificarse libremente y era gratuito tanto para uso personal como comercial al incorporarse a un producto. Sin embargo, bajo la política de "Una sola fuente" de T-Kernel, no era posible redistribuir libremente el código fuente bajo la T-License original. [ 15 ] La T-License 2.0 se ha mejorado para permitir la redistribución del código fuente original y la distribución de código fuente modificado, lo que otorga a los usuarios mayor libertad en cuanto a la distribución del código fuente. [ 16 ]
Entorno de desarrollo
eBinder de eSol Corporation es un entorno de desarrollo integrado (IDE) comúnmente utilizado para el desarrollo cruzado de software dirigido a T-Kernel. [ 17 ]
La versión actual de T-Kernel 2.0 se distribuye con un complemento para el IDE Eclipse . Además, está disponible una versión de T-Kernel que se ejecuta en un emulador basado en QEMU , así como el propio emulador basado en QEMU, para que las pruebas, la capacitación y el desarrollo se puedan realizar en una PC sin hardware de destino. [ 18 ] Es compatible con bibliotecas SSL/TLS populares como wolfSSL . [ 19 ]
Desarrollo de series adicionales de núcleos T
En línea con la diversificación del hardware objetivo, se ha desarrollado T-Kernel con características adicionales como MP T-Kernel, que admite multiprocesadores y multinúcleos, y μT-Kernel, que está dirigido a sistemas embebidos de pequeña escala, [ 20 ] y las especificaciones [ 21 ] y el código fuente de cada uno también están disponibles públicamente TANTO en japonés como en inglés.
MP T-Kernel
Existen dos tipos de multiprocesadores: Procesador Múltiple Asimétrico (AMP) y Procesador Múltiple Simétrico (SMP). El núcleo T para AMP se denomina núcleo T AMP, y el núcleo T para SMP se denomina núcleo T SMP. Ambos núcleos T se denominan colectivamente núcleo T MP. [ 22 ] [ 23 ]
Núcleo T de AMP
Este núcleo MP T admite procesadores múltiples asimétricos (AMP).
Los sistemas AMP generalmente constan de varios procesadores (no es necesario que cada procesador sea del mismo tipo). Dado que a cada procesador se le asigna una copia del núcleo T de AMP, habrá el mismo número de núcleos T de AMP que de procesadores en todo el sistema.
Cada AMP T-Kernel dispone de funciones para sincronizarse y comunicarse con otros AMP T-Kernels del sistema. Estas funciones entre procesadores en AMP T-Kernel se han ampliado a partir de las funciones de sincronización y comunicación entre procesos de T-Kernel 1.00 para que puedan utilizarse entre procesadores.
Los programas de usuario se ejecutan en uno de los núcleos T de AMP, y mediante el uso de las funciones de sincronización y comunicación del núcleo T de AMP, es posible sincronizarse y comunicarse con programas de usuario en otros núcleos T de AMP. [ 24 ]
Núcleo T SMP
Este núcleo MP T admite procesadores múltiples simétricos (SMP).
Los sistemas SMP generalmente constan de múltiples procesadores del mismo tipo. Cada procesador tiene las mismas funciones básicas, puede ejecutar el mismo código de programa y la memoria principal puede ser compartida por todos los procesadores.
Todos los procesadores son gestionados por una única copia del núcleo T-SMP.
Los programas gestionados y ejecutados por T-Kernel se asignan dinámicamente a un procesador. La planificación de tareas y la gestión de objetos se gestionan de forma centralizada mediante una única copia de SMP T-Kernel para todo el sistema.
Los programas de usuario no necesitan conocer los procesadores individuales. De forma similar a un programa de usuario para T-Kernel en un solo procesador, un programa se ejecuta en un único T-Kernel SMP. [ 25 ]
μT-Kernel
Se trata de un sistema operativo en tiempo real (RTOS) para sistemas embebidos de pequeña escala.
La especificación μT-Kernel está diseñada para optimizarse y adaptarse fácilmente a sistemas embebidos de pequeña escala. Por otro lado, para garantizar la compatibilidad con T-Kernel, las funciones comunes a T-Kernel se definen utilizando la misma interfaz, y las definiciones de tipos de datos también son las mismas que las utilizadas en T-Kernel.
El código fuente del kernel μT está disponible como código de referencia en el sitio web del foro TRON.
A partir de μT-Kernel 3.0, [ 26 ] el código fuente [ 27 ] y las especificaciones [ 28 ] también se han puesto a disposición en GitHub.
Véase también
Referencias
- ↑ "Soporte para CPU T-Kernel" . Archivado del original el 7 de agosto de 2012. Consultado el 26 de julio de 2012 .
- ↑ "Nuevas plataformas para el motor T" . Archivado del original el 30/07/2012 . Consultado el 26/07/2012 .
- ↑ "Lista de CPU compatibles" .
- 1 2 "¿Qué es T-Kernel?" . Foro de T-Engine . Consultado el 13 de mayo de 2012 .
- ↑ Tan, Su-Lim; Tran Nguyen Bao Anh (2009). "Sistema operativo en tiempo real (RTOS) para microcontroladores pequeños (16 bits)". 2009 IEEE 13th International Symposium on Consumer Electronics . pp. 1007–1011 . doi : 10.1109/ISCE.2009.5156833 . ISBN 978-1-4244-2975-2. S2CID 27374625 .
- ↑ Krikke, Jan (15 de octubre de 2003). "El sistema operativo más popular del mundo" . LinuxInsider . ECT News Network . Consultado el 13 de mayo de 2012 .
- ↑ Krikke, J. (2005). "T-Engine: La arquitectura de computación ubicua de Japón está lista para su uso generalizado". IEEE Pervasive Computing . 4 (2): 4– 9. doi : 10.1109/MPRV.2005.40 . S2CID 11365911 .
- ↑ " Bienvenido al foro T-Engine y al centro de identificación ubicua (en japonés)". Tronware . 146. ISBN 978-4893622907.
- ↑ "TRON," la arquitectura japonesa vuelve a estar en el punto de mira (en japonés)" .
- ↑ "El sistema operativo 'TRON', habilitado para IoT, se convierte en estándar internacional del IEEE: el Foro TRON ahora comparte los derechos de autor con el IEEE (en japonés)" . Nikkan Kogyo Shimbun . 11 de diciembre de 2017.
- ↑ "EEE 2050-2018 - Norma IEEE para un sistema operativo en tiempo real (RTOS) para sistemas embebidos de pequeña escala" .
- ↑ "HITO IEEE" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "T-Kernel" . Foro de T-Engine . Consultado el 13 de mayo de 2012 .
- ↑ "Descarga del código fuente" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "T-License Article 4.2" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "Preguntas frecuentes sobre la licencia T 2.x" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "eBinder: Suite de desarrollo de sistemas basada en T-Kernel/μITRON" . Renesas Electronics Corp.
- ↑ "Paquete de software T-Kernel 2.00.01" . Foro T-Engine . Consultado el 13 de mayo de 2012 .
- ↑ "wolfSSL + Micro-T Kernel, TRON, T-ENGINE - wolfSSL" . 24 de abril de 2017. Consultado el 13 de febrero de 2019 .
- ↑ "¿Qué es T-Kernel?" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "Especificaciones" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ↑ "Especificación del kernel T de AMP, versión 1.00.00" (PDF) . Febrero de 2009.
- ↑ "Especificación del kernel T SMP versión 1.00.00" (PDF) . Febrero de 2009.
- ↑ Foro T-Engine (febrero de 2009). Especificación del núcleo T de AMP . Foro T-Engine . págs. 9–11 .
- ↑ Foro T-Engine. Especificación del núcleo T de SMP . págs. 9–11 .
- ↑ "μT-Kernel 3.0" . www.tron.org . Consultado el 6 de noviembre de 2024 .
- ^ Foro, TRON (01/11/2024), tron-forum/mtkernel_3 , consultado el 6 de noviembre de 2024
- ↑ "Especificación del kernel μT 3.0" . tron-forum.github.io . Consultado el 6 de noviembre de 2024 .
Enlaces externos
- Sitio web oficial , Foro de TRON
- Foro de Tron en GitHub
- Especificaciones del núcleo T
- Página principal de Sakamura
- Archivo del proyecto ITRON
- Presentación del núcleo μT. Archivado el 6 de mayo de 2008 en la Wayback Machine.
- Información sobre la programación de T-Engine, T-Kernel y μT-Kernel archivada el 9 de octubre de 2007 en Wayback Machine.
- Sistemas operativos integrados
- Proyecto TRON