El Subconjunto del Kernel Linux Integrable ( ELKS ), anteriormente conocido como Linux-8086 , es un núcleo de sistema operativo similar a Linux . Es un subconjunto del kernel Linux , destinado a computadoras de 16 bits con recursos de procesador y memoria limitados, como máquinas impulsadas por Intel 8086 y microprocesadores compatibles no soportados por Linux de 32 bits . [2] [3]
ELKS es software libre y está disponible bajo la Licencia Pública General GNU (GPL). Puede funcionar con los primeros ordenadores de 16 bits (p. ej., 8086, 8088 ) y muchos ordenadores x86 de 32 bits , como los sistemas compatibles con IBM PC , y modelos x86 posteriores en modo real . Otro ámbito útil son los microordenadores de placa única , pensados como herramientas educativas para proyectos "homebrew" ( hacking de hardware ), así como para sistemas de controladores integrados (p. ej., automatización ). [4]
Las primeras versiones de ELKS también funcionaban en PDA Psion 3a y 3aR SIBO (SIxteen Bit Organiser) con CPU NEC V30 , [4] [5] lo que proporcionaba otro posible campo de operación ( hardware de gadgets ), si se trasladaba a una plataforma de este tipo. Este esfuerzo se denominó ELKSibo. [6] Debido a la falta de interés, la compatibilidad con SIBO se eliminó de la versión 0.4.0.
Los programas nativos de ELKS pueden ejecutarse emulados con Elksemu, lo que permite utilizar código 8086 en Linux-i386. [7] También existe un esfuerzo para proporcionar a ELKS una biblioteca compatible con Eiffel . [8]
El desarrollo de Linux-8086 comenzó en 1995 por los desarrolladores del núcleo de Linux Alan Cox y Chad Page como una bifurcación del estándar Linux. A principios de 1996, el proyecto pasó a llamarse ELKS (Embeddable Linux Kernel Subset), y en 1997 se creó el primer sitio web [9] . La versión 0.0.63 de ELKS le siguió el 8 de agosto de ese mismo año. El 22 de junio de 1999, estaba disponible la versión 0.0.77 de ELKS, la primera versión capaz de ejecutar una interfaz gráfica de usuario (el Nano-X Window System). El 21 de julio, ELKS arrancó en una PDA Psion con arquitectura SIBO. ELKS 0.0.82 salió el 10 de enero de 2000. Al incluir el puerto SIBO , se convirtió en la primera versión oficial que se ejecutaba en otro hardware de computadora que no fuera la base 8086 original. El 3 de marzo de ese año, el proyecto se registró en SourceForge . [10]
El 6 de enero de 2001, Cox declaró que ELKS estaba "básicamente muerto". [11] No obstante, el 17 de junio de 2001 se lanzó la versión 0.0.84, siete días después Charilaos (Harry) Kalogirou añadió compatibilidad con redes TCP/IP y, ese mismo año, ELKS alcanzó la versión 0.0.90 el 17 de noviembre. El 20 de abril de 2002, Kalogirou añadió gestión de memoria con capacidad de intercambio de discos , seguida nueve días después por la versión 0.1.0 de ELKS, considerada la primera versión beta . [12] A finales de año, el 18 de diciembre, se lanzó la EDE (Elks Distribution Edition, una distribución basada en el núcleo ELKS), la versión 0.0.5. [13] El 6 de enero de 2003 se lanzó ELKS 0.1.2, y el 3 de mayo de 2006 se lanzó una actualización a 0.1.3, el primer lanzamiento oficial después de una larga pausa en el desarrollo. [12]
Se había planeado un desarrollo de FlightLinux, un sistema operativo en tiempo real para naves espaciales , pero el proyecto al que estaba destinado ( UoSAT-12 ) finalmente se decidió por el sistema operativo qCF de Quadron Corporation. [14]
Desde enero de 2012, ELKS está nuevamente en desarrollo. El repositorio CVS se migró a Git en febrero de 2012, y numerosos parches de la lista de correo Linux-8086 se enviaron al nuevo repositorio. La versión 0.1.4 salió el 19 de febrero de 2012, lanzada por Jody Bruchon en memoria de Riley Williams, un ex co-desarrollador. Incluía imágenes de disquete actualizadas , arreglaba errores de compilación de la versión anterior y eliminaba códigos no utilizados. [15] El 10 de mayo de 2012, Jody Bruchon agregó BusyELKS al repositorio en un intento de reemplazar binarios independientes y aprovechar el código compartido (ELKS no admite bibliotecas compartidas ). Los binarios similares a BusyBox intentan ahorrar espacio con enlaces simbólicos, eliminando fragmentos redundantes de código y combinando programas separados en un binario más grande. [16] El 14 de noviembre de 2013, el desarrollo del proyecto se trasladó a GitHub . [17] En 2017 se agregó compatibilidad rudimentaria con Ethernet y FAT. [18]
Más de 35 desarrolladores han contribuido a este proyecto desde la bifurcación en 1995. A partir de marzo de 2015, el desarrollo del proyecto ELKS volvió a estar activo, alcanzando un hito de 1000 confirmaciones de código fuente el 8 de marzo de 2015. A partir de junio de 2018, se realizaron muchas correcciones de errores y mejoras con 583 confirmaciones más, lo que llevó al lanzamiento de la versión 0.2.1. En marzo de 2019, el proyecto completó su transición del compilador BCC obsoleto al más reciente GCC-IA16 ( GNU Compiler Collection - Intel Architecture 16 ), y la actividad de desarrollo aumentó cuando Gregory Haerr tomó el mando como desarrollador principal. Durante 2019 y 2020, ELKS pasó de un estado "arrancable, inestable" a un sistema estable similar a Linux para máquinas pequeñas con Ethernet, TCP/IP, FAT16/32, serial multiusuario y muchas más funciones. [19] Cuando se lanzó ELKS 0.4.0 en noviembre de 2020, el número de confirmaciones había superado las 3000.
Sobre la base de la base creada por la versión 0.4.0, la actividad de desarrollo continuó durante 2021, siempre con Gregory Haerr como desarrollador principal, con el apoyo de 5 colaboradores activos. El equipo entregó 220 confirmaciones desde octubre de 2021 hasta la versión 0.5.0 del 8 de febrero de 2022. [20] Cuatro meses después, el 7 de junio de 2022, se lanzó la versión 0.6.0, lo que estableció un nuevo nivel o frecuencia de lanzamiento e indicó un nivel de actividad muy alto. [21]
La versión 0.4.0 representó un hito importante para ELKS, ya que elevó el sistema de experimental a útil para quienes no son desarrolladores e incluyó las siguientes mejoras importantes:
La versión 0.5.0 fue otro hito importante para ELKS con una serie de mejoras importantes, adiciones y soporte para 2 nuevas plataformas: la PC-98 japonesa y la 8018X . Las mejoras incluyeron: [23]
A partir de la versión 0.5.0, ELKS es un sistema Linux pequeño y completo y una herramienta versátil para probar, diagnosticar y ejecutar PC antiguos con recursos limitados. La portabilidad mejorada demostrada por la incorporación de nuevas plataformas allana el camino para una mayor actividad de desarrollo hacia la próxima versión.
La versión 0.6.0, lanzada el 7 de junio de 2022, definió un nuevo nivel para ELKS, como lo indica el ciclo de lanzamiento mucho más corto de lo habitual. La velocidad a la que el sistema evoluciona y mejora, combinada con su confiabilidad y facilidad de uso recientemente adquiridas, creó una demanda de "versiones empaquetadas actualizadas" por parte de los nuevos usuarios.
La versión 0.6.0 incluye muchas mejoras y optimizaciones tanto a nivel de sistema como de aplicación. Entre las novedades se incluyen: [21]
El equipo realizó 200 confirmaciones entre las versiones 0.5.0 y 0.6.0, más de la mitad a cargo de Gregory Haerr.
Se estrenó el 3 de agosto de 2023. [25]
{{cite book}}
: Mantenimiento de CS1: otros ( enlace ){{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ){{cite web}}
: CS1 maint: bot: original URL status unknown (link){{cite web}}
: CS1 maint: archived copy as title (link)){{cite web}}
: CS1 maint: bot: original URL status unknown (link)