Релиз ELKS 0.8 — проекта ядра Linux для устаревших 16-разрядных процессоров Intel

25 сентября 2024 года состоялся релиз ELKS 0.8 — открытого проекта ядра Linux для работы на ПК с устаревшими 16-разрядными процессорами Intel. Исходные коды решения распространяются на GitHub под лицензией GPLv2.

По информации OpenNET, проект ELKS работает с процессорами Intel 8086, 8088, 80188, 80186, 80286 и NEC V20/V30 и может использоваться на старых компьютерах класса IBM-PC XT / AT, а также советском компьютере MK-88, винтажной плате Monotech NuXT 2.0 и на SBC / SoC / FPGA, воссоздающих архитектуру IA16.

Проект ELKS развивается с 1995 года. Разработка решения начиналась как ответвление ядра Linux для устройств без блока управления памятью (MMU). Система поставляется в форме образов для записи на floppy-диски или запуска в эмуляторе QEMU.

Для тестирования доступен онлайн-эмулятор ELKS 0.7 (для входа набрать root, без пароля).

Помимо ядра Linux, адаптированного для 16-разрядных систем, проектом ELKS развивается набор стандартных утилит (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo и т.п.), включая совместимый с bash командный интерпретатор, консольный оконный менеджер screen, текстовые редакторы Kilo и vi, графическое окружение на базе X-сервера Nano-X.

В ELKS предлагается два варианта сетевого стека. Это штатный TCP/IP стек ядра Linux и стек ktcp, работающий в пространстве пользователя. Из сетевых карт в проекте поддерживаются Ethernet-адаптеры, совместимые с NE2K и SMC. Также возможно создание каналов связи через последовательный порт при помощи SLIP и CSLIP. Из файловых систем ELKS поддерживает Minix v1, FAT12, FAT16 и FAT32. Настройка процесса загрузки ELKS осуществляется через сценарий /etc/rc.d/rc.sys. Формат исполняемых файлов заимствован из ОС Minix.

Основные изменения и доработки в ELKS 0.8:

• портирована игра Doom;

• добавлена возможность загрузки и запуска файлов в исполняемом формате OS/2;

• предоставлена возможность сборки программ Си-компилятором Open Watcom;

• при сборке по умолчанию включена поддержка сетевых адаптеров NE2K, WD и 3COM;

• включено сжатие исполняемых файлов, позволившее уместить больше приложений в образе флоппи-диска;

• в ядре реализована поддержка асинхронного ввода/вывода;

• добавлен новый драйвер для дисководов, использующий асинхронный ввод/вывод и позволяющий выполнять другие приложения во время ввода/вывода;

• во время загрузки обеспечена настройка параметров ядра, таких как размер кучи, число задач, inode и файлов, для выделения ресурсов в зависимости от размера памяти;

• улучшены возможности отладки, такие как дизассемблер и механизмы трассировки системных вызовов и функций;

• проведена оптимизация использования кэша L1/L2;

• добавлены функции для точного измерения времени;

• из других систем портированы команды ttyclock, ttypong, ttytetris и md5/md5sum;

• добавлен системный вызов sysctl и связанная с ним команда.

Материал опубликован при поддержке сайта habr.com
Комментарии

    Актуальные новости по теме "Array"