Jump to content

Встраиваемое подмножество ядра Linux

ЛОСИ
Семейство ОС Unix-подобный
Первоначальный выпуск 0.0.76 (20 мая 1999 г .; 25 лет назад ( 20 мая 1999 г. ) )
Последний выпуск 0.7.0 / 3 августа 2023 г .; 12 месяцев назад ( 03.08.2023 )
Репозиторий
Доступно в Английский
ядра Тип Монолитный
Лицензия Лицензия GPL v2 [1]
Официальный сайт github /гаэрр / лоси

Подмножество встроенного ядра Linux ( ELKS ), ранее известное как Linux-8086 , представляет собой Linux-подобное ​​операционной системы ядро . Это подмножество ядра Linux , предназначенное для 16-битных компьютеров с ограниченными ресурсами процессора и памяти, таких как машины на базе Intel 8086 и совместимые микропроцессоры, не поддерживаемые 32-битной Linux . [2] [3]

Возможности и совместимость

[ редактировать ]

ELKS — это бесплатное программное обеспечение , доступное по лицензии GNU General Public License (GPL). Он может работать с ранними 16-битными (например, 8086, 8088 ) и многими 32-битными x86 компьютерами , такими как IBM PC-совместимые системы, а также с более поздними моделями x86 в реальном режиме . Другая полезная область — одноплатные микрокомпьютеры , предназначенные в качестве обучающих инструментов для « домашних » проектов ( хакерство аппаратного обеспечения ), а также встроенные системы контроллеров (например, автоматизация ). [4]

Ранние версии ELKS также работали на Psion 3a и 3aR SIBO (SIxteen Bit Organiser) КПК с процессорами NEC V30 , [4] [5] предоставление другого возможного поля работы ( железа гаджета ), если его портировать на такую ​​платформу. Эта попытка получила название ELKSibo. [6] Из-за отсутствия интереса поддержка SIBO была удалена из версии 0.4.0.

Собственные программы ELKS могут эмулироваться с помощью Elksemu, что позволяет использовать код 8086 под Linux-i386. [7] Также существует попытка предоставить ELKS с Eiffel совместимую библиотеку, . [8]

Разработка Linux-8086 началась в 1995 году разработчиками ядра Linux Аланом Коксом и Чадом Пейджем как ответвление стандартного Linux. К началу 1996 года проект был переименован в ELKS (Embeddable Linux Kernel Subset), а в 1997 году появился первый веб-сайт. [9] был создан. Версия ELKS 0.0.63 вышла 8 августа того же года. 22 июня 1999 года была доступна версия ELKS 0.0.77, первая версия, способная запускать графический интерфейс пользователя ( Window System Nano-X ). 21 июля ELKS загрузился на КПК Psion с архитектурой SIBO. ELKS 0.0.82 вышел 10 января 2000 года. Благодаря включению порта SIBO он стал первой официальной версией, работающей на другом компьютерном оборудовании, отличном от исходной базы 8086. 3 марта того же года проект был зарегистрирован на SourceForge . [10]

6 января 2001 года Кокс объявил ELKS «фактически мертвым». [11] Тем не менее, 17 июня 2001 года вышел выпуск 0.0.84. Чарилаос (Гарри) Калогиру добавил поддержку сетей TCP/IP семь дней спустя, и в том же году 17 ноября ELKS достиг версии 0.0.90. 20 апреля 2002 года Калогиру добавлено управление памятью с возможностью замены дисков , а через девять дней появилась версия ELKS 0.1.0, считающаяся первой бета-версией . [12] К концу года, 18 декабря, выходит EDE (Elks Distribution Edition, дистрибутив на основе ядра ELKS), версия 0.0.5. [13] 6 января 2003 г. вышел ELKS 0.1.2, 3 мая 2006 г. последовало обновление до 0.1.3, первый официальный выпуск после долгого перерыва в разработке. [12]

Была запланирована разработка FlightLinux, операционной системы реального времени для космических кораблей , но проект, для которого она предназначалась ( UoSAT-12 ), в конечном итоге остановился на операционной системе qCF от Quadron Corporation. [14]

Текущий статус и использование

[ редактировать ]

С января 2012 года ELKS снова находится в разработке. CVS Репозиторий был перенесен в Git в феврале 2012 года, и в новый репозиторий были добавлены многочисленные исправления из списка рассылки Linux-8086. Версия 0.1.4 вышла 19 февраля 2012 года и была выпущена Джоди Брюшоном в память о Райли Уильямс, бывшем соразработчике. В него вошли обновленные образы дискет , исправление ошибок компиляции предыдущей версии и удаление неиспользуемых кодов. [15] 10 мая 2012 года BusyELKS был добавлен в репозиторий Джоди Брюшоном в попытке заменить автономные двоичные файлы и воспользоваться преимуществами общего кода (ELKS не поддерживает общие библиотеки ). Двоичные файлы, подобные BusyBox, пытаются сэкономить место с помощью символических ссылок, устраняя избыточные фрагменты кода и объединяя отдельные программы в один более крупный двоичный файл. [16] 14 ноября 2013 года разработка проекта переехала на GitHub . [17] Элементарная поддержка Ethernet и FAT была добавлена ​​в 2017 году. [18]

С момента его разветвления в 1995 году в этот проект внесли свой вклад более 35 разработчиков. По состоянию на март 2015 года разработка проекта ELKS снова активилась, достигнув рубежа в 1000 коммитов исходного кода 8 марта 2015 года. По состоянию на июнь 2018 года исправлено множество ошибок. и улучшения были выполнены с помощью еще 583 коммитов, что привело к выпуску 0.2.1. В марте 2019 года проект завершил переход от устаревшего компилятора BCC к более позднему GCC-IA16 ( GNU Compiler Collection Intel Architecture 16 ), а активность разработки возросла, когда Грегори Хаэрр возглавил его в качестве ведущего разработчика. В течение 2019 и 2020 годов ELKS перешла из статуса «загружаемой, нестабильной» в стабильную Linux-подобную систему для небольших машин с Ethernet, TCP/IP, FAT16/32, многопользовательским последовательным портом и многими другими функциями. [19] Когда в ноябре 2020 года был выпущен ELKS 0.4.0, количество коммитов превысило 3000.

Основываясь на фундаменте, созданном в версии 0.4.0, деятельность по разработке продолжалась в течение 2021 года, при этом Грегори Хаэрр по-прежнему оставался ведущим разработчиком при поддержке пяти активных участников. Команда выполнила 220 коммитов с октября 2021 года до выпуска 0.5.0 8 февраля 2022 года. [20] Четыре месяца спустя, 7 июня 2022 года, была выпущена версия 0.6.0, установившая новый уровень или частоту выпусков и указав на очень высокий уровень активности. [21]

Версия 0.4.0

[ редактировать ]

Версия 0.4.0 стала важной вехой для ELKS, превратив систему из экспериментальной в полезную для неразработчиков, и включала следующие основные улучшения:

  • Документация вики [22]
  • Основные улучшения ядра — размер, стабильность, надежность, скорость, системные вызовы и функции отладки.
  • Надежный стек TCP/IP, реализованный как процесс пользовательского режима, поддерживающий TCP, ICMP , ARP .
  • Поддержка сети на уровне пользователя для telnet /telnetd и передачи файлов.
  • Поддержка последовательного IP и Ethernet (NE1K/ NE2K /WD8003).
  • Множество новых и обновленных команд пользовательского уровня, включая ash и sash оболочки .
  • Множество улучшений в цепочке инструментов перекрестной разработки, поддерживающих больше моделей памяти, упрощающих перенос большего количества приложений.
  • Надежная поддержка файловых систем FAT16 /32 и Minix1 , включая загрузку из /root в файловых системах FAT.
  • Улучшенная поддержка консоли и последовательного порта : последовательная консоль, высокоскоростной последовательный ввод-вывод.
  • Поддержка MBR , параметры загрузки через /bootopts.
  • Обновленная система меню для настройки и сборки в Linux и MacOS, позволяющая неразработчикам создавать собственные образы для дискет размером от 360 КБ до 2,88 МБ.

Версия 0.5.0

[ редактировать ]

Версия 0.5.0 стала еще одной значимой вехой для ELKS с рядом важных улучшений, дополнений и поддержкой 2 новых платформ — японской PC-98 и 8018X . Улучшения включали: [23]

  • Инструменты отладки ядра и сети, улучшения набора инструментов , очистки для облегчения переноса на новые платформы.
  • Улучшена стабильность и производительность сетевого стека.
  • Собственные программы ftp/ftpd, расширяющие поддержку протоколов уровня сетевых приложений до telnet , ftp , http и raw tcp ( netcat ).
  • Улучшена конфигурация времени выполнения через файл конфигурации /bootopts.
  • XMS - поддержка систем 386 и 286 , обеспечивающая большие буферы памяти.
  • Новый SSD драйвер
  • Поддержка сжатых исполняемых файлов [24]
  • Поддержка сред с очень низким объемом памяти (256 КБ)
  • библиотеки и системных вызовов Улучшения
  • Поддержка ядра для секторов переменного размера (для PC-98 ) платформы
  • Новые файлы конфигурации запуска для сети и запоминающих устройств.
  • Улучшена поддержка сети при работе в QEMU.

Начиная с версии 0.5.0 ELKS представляет собой полноценную небольшую систему Linux и универсальный инструмент для тестирования, диагностики и запуска старинных ПК с ограниченными ресурсами. Улучшенная переносимость, продемонстрированная добавлением новых платформ, открывает путь к активизации разработки следующей версии.

Версия 0.6.0

[ редактировать ]

Выпущенная 7 июня 2022 года версия 0.6.0 определила новый уровень для ELKS, о чем свидетельствует гораздо более короткий, чем обычно, цикл выпуска. Скорость, с которой система развивается и совершенствуется, в сочетании с недавно приобретенной надежностью и удобством использования создали спрос на «обновленные пакетные версии» со стороны новых пользователей.

Версия 0.6.0 включала множество улучшений и оптимизаций как на уровне системы, так и на уровне приложений. Новые дополнения включали: [21]

  • Интерпретатор BASIC с демонстрационными программами
  • Страницы руководства
  • Расширенная поддержка новых платформ — PC98 и 8081x, в частности поддержка дисков SCSI и IDE для PC98.
  • Исправления/улучшения ядра, библиотеки и сети
  • Новые команды, такие как tar , man и compress.

Между версиями 0.5.0 и 0.6.0 команда выполнила 200 коммитов, более половины — Грегори Хаэрра.

Версия 0.7.0

[ редактировать ]

Он был выпущен 3 августа 2023 года. [25]

См. также

[ редактировать ]
  1. ^ «Файл ЛИЦЕНЗИИ на GitHub» . Гитхаб .
  2. ^ Создание встроенных систем Linux . Карим Ягмур (2-е изд.). Севастополь [Калифорния]: O'Reilly Media. 2008. с. 7. ISBN  978-0-596-52968-0 . ОСЛК   273049576 . {{cite book}}: CS1 maint: другие ( ссылка )
  3. ^ Данеш, Арман (2006). ОсвоениеTM Linux . Майкл Джанг (2-е изд.). Хобокен: Джон Уайли и сыновья. п. 904. ИСБН  978-0-7821-5277-7 . OCLC   437171498 .
  4. ^ Перейти обратно: а б Введение в ELKS
  5. ^ «Информация о СИБО» . Архивировано из оригинала 21 октября 2001 года . Проверено 2 марта 2014 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  6. ^ «Информация об ЭЛКСибо» . Архивировано из оригинала 27 марта 2005 года . Проверено 2 марта 2014 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  7. ^ Справочная страница Элксему
  8. ^ Реализация библиотеки ELKS Eiffel.
  9. ^ «Архивная копия» . Архивировано из оригинала 24 сентября 2001 года . Проверено 16 ноября 2006 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка ) )
  10. ^ elks.sourceforge.net
  11. ^ 6 января 2001 г., «обновление статуса Аланом Коксом» . Архивировано из оригинала 20 сентября 2001 года . Проверено 16 ноября 2006 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  12. ^ Перейти обратно: а б «Информация о старой версии, например, о ELKS 0.1.0, первой бета-версии» . Архивировано из оригинала 16 марта 2014 г. Проверено 2 марта 2014 г.
  13. ^ Объявление о выпуске EDE 0.0.5.
  14. ^ Linux-8086: Летный Linux
  15. ^ «ELKS релиз 0.1.4» . Архивировано из оригинала 21 февраля 2012 г. Проверено 19 февраля 2012 г.
  16. ^ Введение BusyELKS
  17. ^ Информация о переезде ELKS на GitHub.
  18. ^ «ELKS теперь поддерживает Ethernet — Linux для 8086» . www.spinics.net . Проверено 25 июня 2018 г.
  19. ^ «ELKS v0.4.0 История предварительных версий и авторы · Выпуск № 873 · ghaerr/elks» . Гитхаб . Проверено 9 апреля 2021 г.
  20. ^ «Выпуск ELKS v0.5.0 · ghaerr/elks» . Гитхаб . Проверено 9 февраля 2022 г.
  21. ^ Перейти обратно: а б «Выпуск ELKS v0.6.0 · ghaerr/elks» . Гитхаб . Проверено 17 июня 2022 г.
  22. ^ «ЭЛКС вики» . Гитхаб . Проверено 9 апреля 2021 г.
  23. ^ «Выпуск ELKS v0.5.0 · ghaerr/elks» . Гитхаб . Проверено 9 февраля 2022 г.
  24. ^ «[ядро] Реализация сжатых исполняемых файлов в ELKS от ghaerr · Запрос на извлечение № 912 · ghaerr/elks» . Гитхаб . Проверено 10 апреля 2021 г.
  25. ^ ЭЛКС v0.7.0
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5a24513609a9cefa990452c2360834d1__1720564080
URL1:https://arc.ask3.ru/arc/aa/5a/d1/5a24513609a9cefa990452c2360834d1.html
Заголовок, (Title) документа по адресу, URL1:
Embeddable Linux Kernel Subset - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)