La sortie du projet ELKS 0.8 (Embarquable Linux Kernel Subset) a été publiée, développant un système d'exploitation de type Linux pour les processeurs 16 bits Intel 8086, 8088, 80188, 80186, 80286 et NEC V20/V30. Le système d'exploitation peut être utilisé sur d'anciens ordinateurs de la classe IBM-PC XT/AT, sur l'ordinateur national MK-88, sur la carte vintage Monotech NuXT 2.0, ainsi que sur des SBC/SoC/FPGA reproduisant l'architecture IA16. Le projet est en développement depuis 1995 et a commencé comme un fork du noyau Linux pour les dispositifs sans unité de gestion de mémoire (MMU). Les sources sont distribuées sous la licence GPLv2. Le système est fourni sous forme d'images pour être gravées sur des disquettes ou exécutées dans l'émulateur QEMU.
En plus du noyau Linux, adapté aux systèmes 16 bits, le projet développe un ensemble d'outils standard (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, etc.), y compris un interpréteur de commandes compatible avec bash, un gestionnaire de fenêtres en console nommé screen, ainsi que des éditeurs de texte Kilo et vi, et un environnement graphique basé sur le serveur X Nano-X.
Deux options de pile réseau sont proposées : la pile TCP/IP standard du noyau Linux ainsi que la pile ktcp, fonctionnant dans l'espace utilisateur. Les cartes réseau prises en charge sont les adaptateurs Ethernet compatibles avec NE2K et SMC. Il est également possible de créer des canaux de communication via le port série à l'aide de SLIP et CSLIP. Les systèmes de fichiers pris en charge incluent Minix v1, FAT12, FAT16 et FAT32. La configuration du processus de démarrage se fait via le script /etc/rc.d/rc.sys. Le format des fichiers exécutables est emprunté au système Minix.

Dans cette nouvelle version :
- Ajout de la possibilité de charger et d'exécuter des fichiers au format exécutable OS/2.
- La possibilité de compiler des programmes avec le compilateur C Open Watcom a été fournie.
- Le jeu Doom a été porté.
- Par défaut, la prise en charge des adaptateurs réseau NE2K, WD et 3COM est activée lors de la compilation.
- Compression des fichiers exécutables ajoutée, permettant d'inclure plus d'applications dans l'image de la disquette.
- Le noyau implémente le support de l'entrée/sortie asynchrone.
- Ajout d'un nouveau pilote pour les lecteurs de disquettes, utilisant l'entrée/sortie asynchrone et permettant l'exécution d'autres applications pendant les opérations d'entrée/sortie.
- Lors du démarrage, la configuration des paramètres du noyau, tels que la taille de la mémoire tampon, le nombre de tâches, d'inodes et de fichiers, est assurée, afin d'allouer les ressources en fonction de la taille de la mémoire.
- Amélioration des capacités de débogage, telles que le désassembleur et les mécanismes de traçage des appels système et des fonctions.
- Optimisation de l'utilisation du cache L1/L2 effectuée.
- Fonctions ajoutées pour mesurer le temps avec précision.
- Des commandes ttyclock, ttypong, ttytetris et md5/md5sum ont été portées depuis d'autres systèmes.
- Ajout d'un appel système sysctl et de la commande associée.
Source : opennet.ru
