EmbeddedKOS/ru: Difference between revisions

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


Опробование вариантов таких решений ведется в рамках проекта '''Колибри-А''' (литера "А" подчеркивает привязку кода к архитектуре AMD/HT).<br />
Опробование вариантов таких решений ведется в рамках проекта '''Колибри-А''' (литера "А" подчеркивает привязку кода к архитектуре AMD/HT).<br />
Колибри-А  — пока еще очень сырая и экспериментальная система, полезная только для квалифицированных системотехников, системных программистов, а также разработчиков и наладчиков компьютерного оборудования. <big>Разработчики предупреждают, что многие стандартные механизмы системной защиты и контроля доступа к критическим системным ресурсам в Колибри-А '''отключены''' с целью облегчения максимально свободого и удобного доступа к оборудованию. Использование этой системы на  домашних, офисных и серверных компьютерах '''категорически противопоказано''' и может повлечь невосстановимую потерю данных и полный выход из строя компьютера и/или подключенных к нему периферийных устройств.
</big>
Итак, мы Вас предупредили...
-----


'''Некоторые особенности Колибри-А'''<br />
'''Некоторые особенности Колибри-А'''<br />
* Повышенные требования к [[Embedded_Hardware/ru|аппаратной платформе]].
* Повышенные требования к [[Embedded_Hardware/ru|аппаратной платформе]].
* Расширенный [[SysFn62/ru|PCI-сервис]] для прямого обращения из приложений к портам и бортовой памяти ''нескольких'' устройств ввода/вывода. <br />
* Дополнительный [[Embedded_API/ru|API-сервис]], предоставляющий пользователю расширенный доступ к низкоуровневому вводу/выводу. <br />
* Бездрайверный [[SubFn62-DA/ru|ПДП]] и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер.
* Бездрайверный [[SubFn62-DA/ru|ПДП]] и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер.
* Поддержка расширенного (отображенного на память) конфигурационного пространства PCI-express. <br />
* Расширенная поддержка функций PCI-express с элементами тренинга шины, MSI и контроля режимов питания. <br />
* Редуцированный код ядра - исключен ряд избыточных, несущественных и рудиментарных системных структур и сервисов:
* Размер ядра заметно сокращен - исключены многие избыточные, узкоспециальные и рудиментарные системные структуры и функции:
** исключены видеорежимы низкого разрешения (ниже 800х600);
** исключены видеорежимы низкого разрешения (ниже 800х600);
** оставлен единственный цветовой режим (32bpp);
** оставлен единственный цветовой режим (32bpp);
** удаляются сисфункции 42, 43 и 44 (забавное наследие Менуэта);  
** удаляются сисфункции 42, 43 и 44 (забавное наследие Менуэта);  
** функция 46 отпадает за ненадобностью (выбор устройства подфункцией 62:11 автоматически разрешает ввод/вывод через все его порты).
** функция 46 отпадает за ненадобностью (ввод/вывод разрешён для всех портов).




'''На очереди:'''<br />
'''На очереди:'''<br />
* Конвейерная обработка графических системных вызовов с возможностью дальнейшей программной и аппаратной акселерации.  
* Новая ''векторная'' конвейерная графическая подсистема с SWF-тэгами.  
* Оптимизированный под RT-приложения менеджер памяти.
* Оптимизированный под RT-приложения менеджер памяти.
* Минимальная поддержка APIC.  
* Минимальная поддержка APIC.  
* Полная поддержка PCIe, включая хотплаг и управление виртуальными каналами.
* Реализация быстрой ''и безопасной'' загрузки ядра из ПЗУ.  
* Реализация быстрой ''и безопасной'' загрузки ядра из ПЗУ.  
* Поддержка SATA-дисков (пока только для SB700 и только в IDE-режиме).
* Поддержка некоторых классов USB-устройств (только SB700).
* Дальнейшее уплотнение ядра с целью сокращения кода kernel.mnt до 64Кбайт:
* Дальнейшее уплотнение ядра с целью сокращения кода kernel.mnt до 64Кбайт:
** удалить сифункцию 64;
** удалить сифункцию 64;
** удалить статические карты страниц и портов в/в;
** удалить статические карты страниц и портов в/в;
** поддержку FAT12, NTFS и ext2/3 сделать опциональной;
** удалить V86-режим;
** поддержку CD-ROM и FDD исключить
** поддержку FAT12, NTFS и ext2/3 сделать опциональной.


'''Конечная цель: '''<br />
'''Конечная цель: '''<br />

Revision as of 14:39, 5 September 2010

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

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

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

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

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

Колибри-А — пока еще очень сырая и экспериментальная система, полезная только для квалифицированных системотехников, системных программистов, а также разработчиков и наладчиков компьютерного оборудования. Разработчики предупреждают, что многие стандартные механизмы системной защиты и контроля доступа к критическим системным ресурсам в Колибри-А отключены с целью облегчения максимально свободого и удобного доступа к оборудованию. Использование этой системы на домашних, офисных и серверных компьютерах категорически противопоказано и может повлечь невосстановимую потерю данных и полный выход из строя компьютера и/или подключенных к нему периферийных устройств.

Итак, мы Вас предупредили...



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

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


На очереди:

  • Новая векторная конвейерная графическая подсистема с SWF-тэгами.
  • Оптимизированный под RT-приложения менеджер памяти.
  • Минимальная поддержка APIC.
  • Полная поддержка PCIe, включая хотплаг и управление виртуальными каналами.
  • Реализация быстрой и безопасной загрузки ядра из ПЗУ.
  • Поддержка SATA-дисков (пока только для SB700 и только в IDE-режиме).
  • Поддержка некоторых классов USB-устройств (только SB700).
  • Дальнейшее уплотнение ядра с целью сокращения кода kernel.mnt до 64Кбайт:
    • удалить сифункцию 64;
    • удалить статические карты страниц и портов в/в;
    • удалить V86-режим;
    • поддержку FAT12, NTFS и ext2/3 сделать опциональной.

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

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

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