Lanzamiento de ELKS 0.6, variante del kernel de Linux para procesadores Intel de 16 bits más antiguos

Se ha publicado el lanzamiento del proyecto ELKS 0.6 (Embeddable Linux Kernel Subset), que desarrolla un sistema operativo similar a Linux para procesadores de 16 bits Intel 8086, 8088, 80188, 80186, 80286 y NEC V20/V30. El sistema operativo se puede utilizar tanto en computadoras IBM-PC XT/AT más antiguas como en SBC/SoC/FPGA que recrean la arquitectura IA16. El proyecto se ha estado desarrollando desde 1995 y comenzó como una bifurcación del kernel de Linux para dispositivos sin unidad de administración de memoria (MMU). El código fuente se distribuye bajo la licencia GPLv2. El sistema se suministra en forma de imágenes para grabar en disquetes o ejecutar en el emulador QEMU.

Hay dos opciones para la pila de red: la pila TCP/IP estándar del kernel de Linux y la pila ktcp que se ejecuta en el espacio del usuario. Los adaptadores Ethernet compatibles con NE2K y SMC son compatibles con tarjetas de red. También es posible crear canales de comunicación a través de un puerto serie usando SLIP y CSLIP. Los sistemas de archivos compatibles incluyen Minix v1, FAT12, FAT16 y FAT32. El proceso de arranque se configura mediante el script /etc/rc.d/rc.sys.

Además del kernel Linux, adaptado para sistemas de 16 bits, el proyecto está desarrollando un conjunto de utilidades estándar (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, etc.), incluido un intérprete de comandos compatible con bash, un administrador de ventanas de consola de pantalla, editores de texto Kilo y vi, un entorno gráfico basado en el servidor Nano-X X. Muchos componentes del espacio de usuario se toman prestados de Minix, incluido el formato de archivo ejecutable.

En el nuevo lanzamiento:

  • Se ha añadido un intérprete de lenguaje BÁSICO, apto para estaciones de trabajo y sistemas flasheados en ROM. Incluyendo comandos para trabajar con archivos (LOAD/SAVE/DIR) y gráficos (MODE, PLOT, CIRCLE y DRAW).
  • Se agregó un programa para trabajar con archivos tar.
  • Se agregaron los comandos man y eman para mostrar los manuales de man y se brindó soporte para mostrar páginas de man comprimidas.
  • La implementación de bash tiene un comando de prueba incorporado ("[").
  • Se agregó el comando "reinicio de red". El comando nslookup ha sido reescrito.
  • Se agregó la capacidad de mostrar información sobre particiones montadas al comando de montaje.
  • Se ha aumentado la velocidad del comando ls en particiones con un sistema de archivos FAT.
  • Rendimiento y soporte significativamente mejorados para sistemas de 8 bits en el controlador de red NE2K.
  • El servidor FTP ftpd ha sido reescrito, agregando soporte para el comando SITE y la capacidad de establecer tiempos de espera.
  • Todas las aplicaciones de red ahora admiten la resolución de nombres DNS mediante la llamada in_gethostbyname.
  • Se agregó soporte para copiar un disco completo al comando sys.
  • Se agregó un nuevo comando de configuración para configurar rápidamente el nombre de host y la dirección IP.
  • Se agregaron los parámetros LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= y bufs= a /bootopts.
  • Se agregó soporte para discos duros SCSI e IDE al puerto de la computadora PC-98, se agregó un nuevo cargador de arranque BOOTCS, se implementó soporte para cargar desde un archivo externo y se amplió el soporte para particiones de disco.
  • El puerto para procesadores 8018X ha agregado soporte para ejecutar desde ROM y un manejo mejorado de interrupciones.
  • Se ha agregado una biblioteca matemática a la biblioteca C estándar y se ha proporcionado la capacidad de trabajar con números de punto flotante en las funciones printf/sprintf, strtod, fcvt, ecvt. El código de la función strcmp ha sido reescrito y acelerado significativamente. Se ha propuesto una implementación más compacta de la función printf. Se agregaron funciones in_connect e in_resolv.
  • El kernel mejoró el soporte para el sistema de archivos FAT, aumentó el número máximo de puntos de montaje a 6, agregó soporte para configurar la zona horaria, agregó uname, usatfs y llamadas al sistema de alarma, y ​​reescribió el código para trabajar con el temporizador.



Fuente: opennet.ru

Añadir un comentario