Ostatnio ogłoszono wydanie projektu ELKS 0.6 (Osadzany podzbiór jądra Linux), rozwija system operacyjny podobny do Linuksa dla procesorów Intel 8086, 8088, 80188, 80186, 80286 i NEC V20/V30 16-bitowych.
System operacyjny może być używany zarówno na starszych komputerach klasy IBM-PC XT/AT, jak i SBC/SoC/FPGA które odtwarzają architekturę IA16. Projekt jest rozwijany od 1995 roku i rozpoczął się jako rozwidlenie jądra Linux dla urządzeń bez jednostki zarządzania pamięcią (MMU).
Istnieją dwie opcje dla stosu sieciowego: normalny stos TCP/IP jądra Linuksa i stos ktcp, który działa w przestrzeni użytkownika.
kart sieciowych, Obsługiwane są adaptery Ethernet zgodne z NE2K i SMC. Możliwe jest również tworzenie kanałów komunikacyjnych przez port szeregowy za pomocą SLIP i CSLIP. Obsługiwane systemy plików to Minix v1, FAT12, FAT16 i FAT32. Proces rozruchu jest konfigurowany za pomocą skryptu /etc/rc.d/rc.sys.
Oprócz jądra Linux przystosowanego do systemów 16-bitowych, projekt rozwija zestaw standardowych narzędzi (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo itp. ) , w tym powłoka kompatybilna z bash, menedżer okien konsoli wyświetlacza, edytory tekstu Kilo i vi, środowisko graficzne oparte na serwerze Nano-X X. Wiele komponentów przestrzeni użytkownika zostało zapożyczonych z Minixa, w tym format pliku wykonywalnego.
Główne nowości ELKS 0.6
W tej nowej wersji dodano tłumacza języka BASIC, odpowiedni dla stacji roboczych i systemów flashowania ROM. Obejmuje to polecenia do pracy z plikami (ŁADUJ/ZAPISZ/KATALOG) i grafikami (TRYB, KREŚL, OKRĄG i RYSUJ).
Kolejną wyróżniającą się zmianą jest to biblioteka matematyczna została dodana do standardowej biblioteki C a możliwość pracy z liczbami zmiennoprzecinkowymi została zapewniona w funkcjach printf/sprintf, strtod, fcvt, ecvt. Kod funkcji strcmp został przepisany i znacznie przyspieszony. Zaproponowano bardziej zwartą implementację funkcji printf. Dodano funkcje in_connect i in_resolv.
Podkreśla się również, że jądro poprawiło obsługę systemu plików FAT, zwiększono maksymalną liczbę punktów montowania do 6, dodano obsługę ustawiania strefy czasowej, dodano uname, usatfs i wywołania systemu alarmowego, przepisano kod do pracy z zegarem.
poza tym dodano program do pracy z archiwami tar, dodano polecenia man i eman do wyświetlania podręczników oraz zapewniono obsługę wyświetlania skompresowanych stron podręcznika oraz dodano polecenie „resetowanie sieci”. Przepisane polecenie nslookup, dodano możliwość wyświetlania informacji o zamontowanych partycjach do polecenia mount.
Z drugiej strony też się wyróżnia poprawiona wydajność polecenia ls na partycjach FAT, a także znacznie poprawioną wydajność i obsługę systemów 8-bitowych w sterowniku sieciowym NE2K.
Z innych zmian które wyróżniają się:
- Serwer FTP ftpd został przepisany w celu obsługi polecenia SITE i możliwości ustawiania limitów czasu.
Obsługa rozwiązywania nazw DNS za pomocą wywołania in_gethostbyname jest zaimplementowana we wszystkich aplikacjach sieciowych. - Polecenie test ("[") jest wbudowane w implementację bash.
- Dodano obsługę kopiowania całego dysku do polecenia sys.
- Dodano nowe polecenie konfiguracyjne, aby szybko skonfigurować nazwę hosta i adres IP.
- Dodano opcje LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= i bufs= do /bootopts.
- Dodano obsługę dysków twardych SCSI i IDE do portu dla komputera PC-98, dodano nowy program ładujący BOOTCS, zaimplementowano obsługę ładowania z pliku zewnętrznego, rozszerzono obsługę partycji dyskowych.
Port dla procesorów 8018X dodał obsługę uruchamiania z pamięci ROM i poprawił obsługę przerwań.
W końcu Jeśli chcesz dowiedzieć się więcej na ten temat, powinieneś wiedzieć, że kod źródłowy jest rozpowszechniany na licencji GPLv2. System dostarczany jest w postaci obrazów do wypalenia na dyskietkach lub uruchomienia na emulatorze QEMU, można zapoznać się ze szczegółami W poniższym linku.