EmbeddedKOS/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
mNo edit summary
Line 45: Line 45:


[[Category:Coding]]
[[Category:Coding]]
[[Category:Системная документация]]

Revision as of 05:09, 16 July 2010

Embedded-KOS - Колибри для встроенных систем

Ряд практических работ, проведенных участниками проекта (см. например Колибри на производстве), показал принципиальную возможность внедрения КолибриОС в составе систем сбора/обработки информации и АСУП.

Компактное ядро с открытым кодом, минималистская простота и удобство графической подсистемы, достаточно развитый пользовательский интерфейс, приличный низкоуровневый системынй сервис, поддержка наиболее популярных сетевых протоколов и файловых систем - всё это уже сейчас позволяет говорить о Колибри как о перспективной ОС для встроенных систем.

В то же время, для превращения Колибри в полноценную embedded-OS требуется решить ряд серьёзных проблем: [1].

Опробование вариантов таких решений ведется в рамках проекта Колибри-А (литера "А" подчеркивает привязку кода к архитектуре AMD/HT).

Некоторые особенности Колибри-А

  • Повышенные требования к аппаратной платформе.
  • Расширенный PCI-сервис для прямого обращения из приложений к портам и бортовой памяти нескольких устройств ввода/вывода.
  • Бездрайверный ПДП и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер.
  • Поддержка расширенного (отображенного на память) конфигурационного пространства PCI-express.
  • Редуцированный код ядра - исключен ряд избыточных, несущественных и рудиментарных системных структур и сервисов:
    • исключены видеорежимы низкого разрешения (ниже 800х600);
    • оставлен единственный цветовой режим (32bpp);
    • удаляются сисфункции 42, 43 и 44 (забавное наследие Менуэта);
    • функция 46 отпадает за ненадобностью (выбор устройства подфункцией 62:11 автоматически разрешает ввод/вывод через все его порты).


На очереди:

  • Конвейерная обработка графических системных вызовов с возможностью дальнейшей программной и аппаратной акселерации.
  • Оптимизированный под RT-приложения менеджер памяти.
  • Минимальная поддержка APIC.
  • Реализация быстрой и безопасной загрузки ядра из ПЗУ.
  • Дальнейшее уплотнение ядра с целью сокращения кода kernel.mnt до 64Кбайт:
    • удалить сифункцию 64;
    • удалить статические карты страниц и портов в/в;
    • поддержку FAT12, NTFS и ext2/3 сделать опциональной;
    • поддержку CD-ROM и FDD исключить

Конечная цель:
а) 100% монолитное бездрайверное ядро,
б) жестко привязанное к выбранной платформе,
в) легко конфигурируемое под конкретную задачу, и
г) прошитое в бортовое ПЗУ.

Вариант реализации:

Как payload для проекта coreboot. Работа над этим ведется [2] Для успешного осуществления требуется удаление зависимости ядра KolibriOS от вызовов BIOS. Ссылки по теме [3] [4] [5]