EmbeddedKOS/ru: Difference between revisions
Line 10: | Line 10: | ||
'''Некоторые особенности Колибри-А'''<br /> | '''Некоторые особенности Колибри-А'''<br /> | ||
* Повышенные [[Embedded_Hardware/ru| | * Повышенные требования к [[Embedded_Hardware/ru|аппаратной платформе]]. | ||
* Расширенный [[SysFn62/ru|PCI-сервис]] для прямого обращения из приложений к портам и бортовой памяти ''нескольких'' устройств ввода/вывода. <br /> | * Расширенный [[SysFn62/ru|PCI-сервис]] для прямого обращения из приложений к портам и бортовой памяти ''нескольких'' устройств ввода/вывода. <br /> | ||
* Бездрайверный [[SubFn62-DA/ru|ПДП]] и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер. | * Бездрайверный [[SubFn62-DA/ru|ПДП]] и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер. | ||
* Поддержка расширенного (отображенного на память) конфигурационного пространства PCI-express. <br /> | * Поддержка расширенного (отображенного на память) конфигурационного пространства PCI-express. <br /> | ||
* Редуцированный код ядра - исключен ряд избыточных, несущественных и рудиментарных системных структур и сервисов: | |||
** исключены видеорежимы низкого разрешения (ниже 800х600); | |||
** оставлен единственный цветовой режим (32bpp); | |||
** удаляются сисфункции 42, 43 и 44 (забавное наследие Менуэта); | |||
** функция 46 отпадает за ненадобностью (выбор устройства подфункцией 62:11 автоматически разрешает ввод/вывод через все его порты). | |||
'''На очереди:'''<br /> | '''На очереди:'''<br /> | ||
Line 20: | Line 26: | ||
* Минимальная поддержка APIC. | * Минимальная поддержка APIC. | ||
* Реализация быстрой ''и безопасной'' загрузки ядра из ПЗУ. | * Реализация быстрой ''и безопасной'' загрузки ядра из ПЗУ. | ||
* Дальнейшее уплотнение ядра с целью сокращения кода kernel.mnt до 64Кбайт: | |||
** удалить сифункцию 64; | |||
** удалить статические карты страниц и портов в/в; | |||
** поддержку FAT12, NTFS и ext2/3 сделать опциональной; | |||
** поддержку CD-ROM и FDD исключить | |||
'''Конечная цель: '''<br /> | '''Конечная цель: '''<br /> |
Revision as of 13:34, 9 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]