Wydanie ELKS 0.6, wariantu jądra Linuksa dla starszych 16-bitowych procesorów Intel

Opublikowano wydanie projektu ELKS 0.6 (Embeddable Linux Kernel Subset), rozwijającego system operacyjny podobny do Linuksa dla 16-bitowych procesorów Intel 8086, 8088, 80188, 80186, 80286 i NEC V20/V30. System operacyjny może być używany zarówno na starszych komputerach klasy IBM-PC XT/AT, jak i na układach SBC/SoC/FPGA odtwarzających architekturę IA16. Projekt rozwija się od 1995 roku i zaczynał jako fork jądra Linuksa dla urządzeń bez jednostki zarządzającej pamięcią (MMU). Kod źródłowy rozpowszechniany jest na licencji GPLv2. System dostarczany jest w postaci obrazów do zapisu na dyskietkach lub uruchomienia w emulatorze QEMU.

Istnieją dwie opcje stosu sieciowego – standardowy stos TCP/IP jądra Linuksa i stos ktcp działający w przestrzeni użytkownika. Adaptery Ethernet kompatybilne z NE2K i SMC są obsługiwane z kart sieciowych. Możliwe jest także tworzenie kanałów komunikacyjnych poprzez port szeregowy z wykorzystaniem protokołu SLIP i CSLIP. Obsługiwane systemy plików obejmują Minix v1, FAT12, FAT16 i FAT32. Proces rozruchu konfiguruje się za pomocą skryptu /etc/rc.d/rc.sys.

Oprócz jądra Linuksa, przystosowanego do systemów 16-bitowych, w ramach projektu opracowywany jest zestaw standardowych narzędzi (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, itp.), w tym interpreter poleceń kompatybilny z bash, menedżer okien konsoli ekranowej, edytory tekstu Kilo i vi, środowisko graficzne oparte na serwerze Nano-X X. Wiele komponentów przestrzeni użytkownika jest zapożyczonych z Minixa, łącznie z formatem pliku wykonywalnego.

W nowym wydaniu:

  • Dodano interpreter języka BASIC, odpowiedni dla stacji roboczych i systemów flashowanych w pamięci ROM. Zawiera polecenia do pracy z plikami (LOAD/SAVE/DIR) i grafiką (MODE, PLOT, CIRCLE i DRAW).
  • Dodano program do pracy z archiwami tar.
  • Dodano polecenia man i eman do wyświetlania podręczników man oraz zapewniono obsługę wyświetlania skompresowanych stron podręcznika man.
  • Implementacja basha ma wbudowane polecenie testowe („[”).
  • Dodano polecenie „restart sieci”. Polecenie nslookup zostało przepisane.
  • Dodano możliwość wyświetlenia informacji o zamontowanych partycjach do polecenia mount.
  • Zwiększono szybkość działania polecenia ls na partycjach z systemem plików FAT.
  • Znacząco poprawiona wydajność i obsługa systemów 8-bitowych w sterowniku sieciowym NE2K.
  • Serwer FTP ftpd został przepisany, dodając obsługę polecenia SITE i możliwość ustawiania limitów czasu.
  • Wszystkie aplikacje sieciowe obsługują teraz rozpoznawanie nazw DNS poprzez wywołanie in_gethostbyname.
  • Dodano obsługę kopiowania całego dysku do polecenia sys.
  • Dodano nowe polecenie setup umożliwiające szybką konfigurację nazwy hosta i adresu IP.
  • Dodano parametry LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= i bufs= do /bootopts.
  • Do portu komputera PC-98 dodano obsługę dysków twardych SCSI i IDE, dodano nowy bootloader BOOTCS, zaimplementowano obsługę ładowania z pliku zewnętrznego oraz rozszerzono obsługę partycji dyskowych.
  • Port dla procesorów 8018X dodał obsługę uruchamiania z pamięci ROM i ulepszoną obsługę przerwań.
  • Do standardowej biblioteki C dodano bibliotekę matematyczną oraz udostępniono możliwość pracy z liczbami zmiennoprzecinkowymi 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.
  • Jądro poprawiło obsługę systemu plików FAT, zwiększyło maksymalną liczbę punktów montowania do 6, dodało obsługę ustawiania strefy czasowej, dodało wywołania uname, usatfs i systemu alarmowego oraz przepisał kod do pracy z timerem.



Źródło: opennet.ru

Dodaj komentarz