Veröffentlichung von ELKS 0.6, einer Linux-Kernel-Variante für ältere 16-Bit-Intel-Prozessoren

Die Veröffentlichung des Projekts ELKS 0.6 (Embeddable Linux Kernel Subset) wurde veröffentlicht, das ein Linux-ähnliches Betriebssystem für die 16-Bit-Prozessoren Intel 8086, 8088, 80188, 80186, 80286 und NEC V20/V30 entwickelt. Das Betriebssystem kann sowohl auf älteren Computern der IBM-PC XT/AT-Klasse als auch auf SBC/SoC/FPGAs verwendet werden, die die IA16-Architektur nachbilden. Das Projekt wird seit 1995 entwickelt und begann als Fork des Linux-Kernels für Geräte ohne Speicherverwaltungseinheit (MMU). Der Quellcode wird unter der GPLv2-Lizenz vertrieben. Das System wird in Form von Bildern zum Aufzeichnen auf Disketten oder zum Ausführen im QEMU-Emulator geliefert.

Für den Netzwerk-Stack gibt es zwei Optionen: den Standard-TCP/IP-Stack des Linux-Kernels und den ktcp-Stack, der im Userspace läuft. Von Netzwerkkarten werden mit NE2K und SMC kompatible Ethernet-Adapter unterstützt. Mit SLIP und CSLIP ist es auch möglich, Kommunikationskanäle über eine serielle Schnittstelle zu erstellen. Zu den unterstützten Dateisystemen gehören Minix v1, FAT12, FAT16 und FAT32. Der Bootvorgang wird über das Skript /etc/rc.d/rc.sys konfiguriert.

Zusätzlich zum Linux-Kernel, der für 16-Bit-Systeme angepasst ist, entwickelt das Projekt eine Reihe von Standarddienstprogrammen (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, usw.), einschließlich Bash-kompatiblem Befehlsinterpreter, Fenstermanager für die Bildschirmkonsole, Kilo- und vi-Texteditoren, grafische Umgebung basierend auf dem Nano-X X-Server. Viele Benutzerraumkomponenten sind von Minix entlehnt, einschließlich des ausführbaren Dateiformats.

In der neuen Version:

  • Es wurde ein BASIC-Sprachinterpreter hinzugefügt, der für Workstations und im ROM geflashte Systeme geeignet ist. Einschließlich Befehle zum Arbeiten mit Dateien (LOAD/SAVE/DIR) und Grafiken (MODE, PLOT, CIRCLE und DRAW).
  • Ein Programm zum Arbeiten mit TAR-Archiven hinzugefügt.
  • Die Befehle man und eman wurden hinzugefügt, um Man-Handbücher anzuzeigen, und es wurde Unterstützung für die Anzeige komprimierter Manpages bereitgestellt.
  • Die Bash-Implementierung verfügt über einen integrierten Testbefehl („[“).
  • Befehl „net restart“ hinzugefügt. Der Befehl nslookup wurde neu geschrieben.
  • Dem Mount-Befehl wurde die Möglichkeit hinzugefügt, Informationen über gemountete Partitionen anzuzeigen.
  • Die Geschwindigkeit des ls-Befehls auf Partitionen mit einem FAT-Dateisystem wurde erhöht.
  • Deutlich verbesserte Leistung und Unterstützung für 8-Bit-Systeme im NE2K-Netzwerktreiber.
  • Der FTP-Server ftpd wurde neu geschrieben und bietet nun Unterstützung für den SITE-Befehl und die Möglichkeit, Zeitüberschreitungen festzulegen.
  • Alle Netzwerkanwendungen unterstützen jetzt die DNS-Namensauflösung über den in_gethostbyname-Aufruf.
  • Unterstützung für das Kopieren einer gesamten Festplatte in den sys-Befehl hinzugefügt.
  • Ein neuer Setup-Befehl wurde hinzugefügt, um den Hostnamen und die IP-Adresse schnell zu konfigurieren.
  • Parameter LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= und bufs= zu /bootopts hinzugefügt.
  • Dem Port für den PC-98-Computer wurde Unterstützung für SCSI- und IDE-Festplatten hinzugefügt, ein neuer BOOTCS-Bootloader wurde hinzugefügt, Unterstützung für das Laden aus einer externen Datei wurde implementiert und die Unterstützung für Festplattenpartitionen wurde erweitert.
  • Der Port für 8018X-Prozessoren bietet Unterstützung für die Ausführung aus dem ROM und eine verbesserte Interrupt-Verarbeitung.
  • Der Standard-C-Bibliothek wurde eine mathematische Bibliothek hinzugefügt und es wurde die Möglichkeit bereitgestellt, mit Gleitkommazahlen in den Funktionen printf/sprintf, strtod, fcvt und ecvt zu arbeiten. Der strcmp-Funktionscode wurde neu geschrieben und deutlich beschleunigt. Es wurde eine kompaktere Implementierung der printf-Funktion vorgeschlagen. Funktionen in_connect und in_resolv hinzugefügt.
  • Der Kernel hat die Unterstützung für das FAT-Dateisystem verbessert, die maximale Anzahl der Mount-Punkte auf 6 erhöht, Unterstützung für das Einstellen der Zeitzone hinzugefügt, uname, usatfs und Alarmsystemaufrufe hinzugefügt und den Code für die Arbeit mit dem Timer neu geschrieben.



Source: opennet.ru

Kommentar hinzufügen