Sortie d'ELKS 0.6, variante du noyau Linux pour les anciens processeurs Intel 16 bits

La version du projet ELKS 0.6 (Embeddable 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é à la fois sur les anciens ordinateurs de classe IBM-PC XT/AT et sur les SBC/SoC/FPGA recréant l'architecture IA16. Le projet se développe depuis 1995 et a commencé comme un fork du noyau Linux pour les appareils sans unité de gestion de mémoire (MMU). Le code source est distribué sous licence GPLv2. Le système est fourni sous forme d'images à enregistrer sur disquettes ou à exécuter dans l'émulateur QEMU.

Il existe deux options pour la pile réseau : la pile TCP/IP standard du noyau Linux et la pile ktcp exécutée dans l'espace utilisateur. Les adaptateurs Ethernet compatibles avec NE2K et SMC sont pris en charge à partir des cartes réseau. Il est également possible de créer des canaux de communication via un port série en utilisant SLIP et CSLIP. Les systèmes de fichiers pris en charge incluent Minix v1, FAT12, FAT16 et FAT32. Le processus de démarrage est configuré via le script /etc/rc.d/rc.sys.

En plus du noyau Linux, adapté aux systèmes 16 bits, le projet développe un ensemble d'utilitaires standards (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, etc.), comprenant un interpréteur de commandes compatible bash, un gestionnaire de fenêtres de console d'écran, des éditeurs de texte Kilo et vi, un environnement graphique basé sur le serveur Nano-X X. De nombreux composants de l'espace utilisateur sont empruntés à Minix, y compris le format de fichier exécutable.

Dans la nouvelle version :

  • Un interpréteur de langage BASIC a été ajouté, adapté aux postes de travail et aux systèmes flashés en ROM. Y compris des commandes pour travailler avec des fichiers (LOAD/SAVE/DIR) et des graphiques (MODE, PLOT, CIRCLE et DRAW).
  • Ajout d'un programme pour travailler avec les archives tar.
  • Les commandes man et eman ont été ajoutées pour afficher les manuels man, et la prise en charge de l'affichage des pages de manuel compressées a été fournie.
  • L'implémentation bash a une commande de test intégrée ("[").
  • Ajout de la commande "net restart". La commande nslookup a été réécrite.
  • Ajout de la possibilité d'afficher des informations sur les partitions montées à la commande mount.
  • La vitesse de la commande ls sur les partitions avec un système de fichiers FAT a été augmentée.
  • Performances considérablement améliorées et prise en charge des systèmes 8 bits dans le pilote réseau NE2K.
  • Le serveur FTP ftpd a été réécrit, ajoutant la prise en charge de la commande SITE et la possibilité de définir des délais d'attente.
  • Toutes les applications réseau prennent désormais en charge la résolution de noms DNS via l'appel in_gethostbyname.
  • Ajout de la prise en charge de la copie d'un disque entier vers la commande sys.
  • Une nouvelle commande de configuration a été ajoutée pour configurer rapidement le nom d'hôte et l'adresse IP.
  • Ajout des paramètres LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= et bufs= à /bootopts.
  • La prise en charge des disques durs SCSI et IDE a été ajoutée au port de l'ordinateur PC-98, un nouveau chargeur de démarrage BOOTCS a été ajouté, la prise en charge du chargement à partir d'un fichier externe a été implémentée et la prise en charge des partitions de disque a été étendue.
  • Le port pour les processeurs 8018X a ajouté la prise en charge de l'exécution à partir de la ROM et amélioré la gestion des interruptions.
  • Une bibliothèque mathématique a été ajoutée à la bibliothèque C standard et la possibilité de travailler avec des nombres à virgule flottante dans les fonctions printf/sprintf, strtod, fcvt, ecvt a été fournie. Le code de la fonction strcmp a été réécrit et considérablement accéléré. Une implémentation plus compacte de la fonction printf a été proposée. Ajout des fonctions in_connect et in_resolv.
  • Le noyau a amélioré la prise en charge du système de fichiers FAT, augmenté le nombre maximum de points de montage à 6, ajouté la prise en charge de la définition du fuseau horaire, ajouté les appels système uname, usatfs et d'alarme et réécrit le code pour travailler avec la minuterie.



Source: opennet.ru

Ajouter un commentaire