Rilascio di ELKS 0.6, una variante del kernel Linux per i vecchi processori Intel a 16 bit

È stato pubblicato il rilascio del progetto ELKS 0.6 (Embeddable Linux Kernel Subset), che sviluppa un sistema operativo Linux-like per processori a 16 bit Intel 8086, 8088, 80188, 80186, 80286 e NEC V20/V30. Il sistema operativo può essere utilizzato sia su vecchi computer IBM-PC di classe XT/AT che su SBC/SoC/FPGA che ricreano l'architettura IA16. Il progetto è stato sviluppato dal 1995 ed è iniziato come fork del kernel Linux per dispositivi senza unità di gestione della memoria (MMU). Il codice sorgente è distribuito sotto la licenza GPLv2. Il sistema viene fornito sotto forma di immagini per la registrazione su floppy disk o per l'esecuzione nell'emulatore QEMU.

Ci sono due opzioni per lo stack di rete: lo stack TCP/IP standard del kernel Linux e lo stack ktcp in esecuzione nello spazio utente. Gli adattatori Ethernet compatibili con NE2K e SMC sono supportati dalle schede di rete. È anche possibile creare canali di comunicazione attraverso una porta seriale utilizzando SLIP e CSLIP. I file system supportati includono Minix v1, FAT12, FAT16 e FAT32. Il processo di avvio viene configurato tramite lo script /etc/rc.d/rc.sys.

Oltre al kernel Linux, adattato per sistemi a 16 bit, il progetto sta sviluppando una serie di utilità standard (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, ecc.), incluso interprete di comandi compatibile con bash, gestore di finestre della console dello schermo, editor di testo Kilo e vi, ambiente grafico basato sul server X Nano-X. Molti componenti dello spazio utente sono presi in prestito da Minix, incluso il formato del file eseguibile.

Nella nuova versione:

  • È stato aggiunto un interprete del linguaggio BASIC, adatto per workstation e sistemi flashati in ROM. Compresi i comandi per lavorare con file (LOAD/SAVE/DIR) e grafica (MODE, PLOT, CIRCLE e DRAW).
  • Aggiunto un programma per lavorare con gli archivi tar.
  • Sono stati aggiunti i comandi man ed eman per visualizzare i manuali man ed è stato fornito il supporto per la visualizzazione delle pagine man compresse.
  • L'implementazione bash ha un comando di test integrato (“[“).
  • Aggiunto il comando "net restart". Il comando nslookup è stato riscritto.
  • Aggiunta la possibilità di visualizzare informazioni sulle partizioni montate al comando mount.
  • La velocità del comando ls sulle partizioni con file system FAT è stata aumentata.
  • Prestazioni e supporto significativamente migliorati per i sistemi a 8 bit nel driver di rete NE2K.
  • Il server FTP ftpd è stato riscritto, aggiungendo il supporto per il comando SITE e la possibilità di impostare timeout.
  • Tutte le applicazioni di rete ora supportano la risoluzione dei nomi DNS tramite la chiamata in_gethostbyname.
  • Aggiunto il supporto per copiare un intero disco nel comando sys.
  • È stato aggiunto un nuovo comando di configurazione per configurare rapidamente il nome host e l'indirizzo IP.
  • Aggiunti i parametri LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= e bufs= a /bootopts.
  • È stato aggiunto il supporto per i dischi rigidi SCSI e IDE alla porta per il computer PC-98, è stato aggiunto un nuovo bootloader BOOTCS, è stato implementato il supporto per il caricamento da un file esterno ed è stato ampliato il supporto per le partizioni del disco.
  • Il port per i processori 8018X ha aggiunto il supporto per l'esecuzione dalla ROM e una migliore gestione degli interrupt.
  • Una libreria matematica è stata aggiunta alla libreria C standard ed è stata fornita la possibilità di lavorare con numeri in virgola mobile nelle funzioni printf/sprintf, strtod, fcvt, ecvt. Il codice della funzione strcmp è stato riscritto e notevolmente accelerato. È stata proposta un'implementazione più compatta della funzione printf. Aggiunte le funzioni in_connect e in_resolv.
  • Il kernel ha migliorato il supporto per il file system FAT, aumentato il numero massimo di punti di montaggio a 6, aggiunto il supporto per l'impostazione del fuso orario, aggiunto uname, usatfs e chiamate al sistema di allarme e riscritto il codice per lavorare con il timer.



Fonte: opennet.ru

Aggiungi un commento