Die Ausgabe des Projekts ELKS 0.8 (Embeddable Linux Kernel Subset) wurde veröffentlicht, das ein Linux-ähnliches Betriebssystem für 16-Bit-Prozessoren wie Intel 8086, 8088, 80188, 80186, 80286 und NEC V20/V30 entwickelt. Das Betriebssystem kann auf alten IBM-PC XT/AT-Computern, dem heimischen Computer MK-88, der Vintage-Platine Monotech NuXT 2.0 sowie auf SBC/SoC/FPGA verwendet werden, die die IA16-Architektur nachbilden. Das Projekt wird seit 1995 entwickelt und begann als Abspaltung des Linux-Kernels für Geräte ohne Speicherverwaltungseinheit (MMU). Der Quellcode wird unter der GPLv2-Lizenz verbreitet. Das System wird in Form von Images zum Schreiben auf Disketten oder zum Starten in einem QEMU-Emulator bereitgestellt.
Neben dem für 16-Bit-Systeme angepassten Linux-Kernel entwickelt das Projekt eine Sammlung von Standard-Utilities (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo usw.), einschließlich eines bash-kompatiblen Kommandointerpreter, einem Konsolenfenster-Manager namens screen, und den Texteditoren Kilo und vi sowie einer grafischen Umgebung auf Basis des X-Servers Nano-X.
Es stehen zwei Varianten des Netzwerkstapels zur Verfügung — der Standard-TCP/IP-Stapel des Linux-Kernels und der im Benutzerspeicher arbeitende Stapel ktcp. Unterstützt werden Ethernet-Adapter, die mit NE2K und SMC kompatibel sind. Es ist auch möglich, Verbindungen über serielle Ports mittels SLIP und CSLIP zu erstellen. Unterstützte Dateisysteme sind Minix v1, FAT12, FAT16 und FAT32. Die Konfiguration des Bootprozesses erfolgt über das Script /etc/rc.d/rc.sys. Das Format ausführbarer Dateien stammt aus dem Betriebssystem Minix.

In der neuen Version:
- Die Möglichkeit, Dateien im ausführbaren OS/2-Format zu laden und auszuführen, wurde hinzugefügt.
- Es besteht die Möglichkeit, Programme mit dem C-Compiler Open Watcom zu kompilieren.
- Das Spiel Doom wurde portiert.
- Bei der Standardkompilierung ist die Unterstützung für NE2K-, WD- und 3COM-Netzwerkadapter aktiviert.
- Die Kompression ausführbarer Dateien wurde implementiert, wodurch mehr Anwendungen im Disketten-Image Platz finden.
- Im Kernel wurde die Unterstützung für asynchronen Input/Output implementiert.
- Ein neuer Treiber für Laufwerke wurde hinzugefügt, der asynchronen Input/Output verwendet und erlaubt, andere Anwendungen während des Inputs/Outputs auszuführen.
- Während des Bootvorgangs wird die Konfiguration der Kernelparameter wie Heap-Größe, Anzahl der Tasks, Inodes und Dateien bereitgestellt, um Ressourcen entsprechend der Speicherkapazität zuzuweisen.
- Die Debugging-Funktionen wurden verbessert, einschließlich eines Disassemblers und Mechanismen zur Nachverfolgung von Systemaufrufen und Funktionen.
- Die Nutzung des L1/L2-Caches wurde optimiert.
- Funktionen zur genauen Zeitmessung wurden hinzugefügt.
- Befehle wie ttyclock, ttypong, ttytetris und md5/md5sum wurden aus anderen Systemen portiert.
- Ein Systemaufruf sysctl und der dazugehörige Befehl wurden hinzugefügt.
Quelle: opennet.ru
