Difference between revisions of "EmbeddedKOS/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m (Embedded-обзор)
 
(9 intermediate revisions by 4 users not shown)
Line 2: Line 2:
  
 
Ряд практических работ, проведенных участниками проекта (см. например [http://board.kolibrios.org/viewtopic.php?t=897 Колибри на производстве]), показал принципиальную возможность внедрения КолибриОС в составе систем сбора/обработки информации и АСУП.<br />
 
Ряд практических работ, проведенных участниками проекта (см. например [http://board.kolibrios.org/viewtopic.php?t=897 Колибри на производстве]), показал принципиальную возможность внедрения КолибриОС в составе систем сбора/обработки информации и АСУП.<br />
 +
 
Компактное ядро с открытым кодом, минималистская простота и удобство графической подсистемы, достаточно развитый пользовательский интерфейс, приличный низкоуровневый системынй сервис, поддержка наиболее популярных сетевых протоколов и файловых систем - всё это уже сейчас позволяет говорить о Колибри как о перспективной ОС для встроенных систем.<br />
 
Компактное ядро с открытым кодом, минималистская простота и удобство графической подсистемы, достаточно развитый пользовательский интерфейс, приличный низкоуровневый системынй сервис, поддержка наиболее популярных сетевых протоколов и файловых систем - всё это уже сейчас позволяет говорить о Колибри как о перспективной ОС для встроенных систем.<br />
Конечно, для превращения в полноценную embedded-OS Колибри еще очень многого не хватает: [http://board.kolibrios.org/viewtopic.php?t=1211 Колибри для встроенных систем?]. И все-таки сектор задач и практических применений настолько широк и многообразен, что для КОС здесь всегда найдется своя ниша.
 
  
'''Необходимо:'''<br />
+
В то же время, для превращения Колибри в полноценную embedded-OS требуется решить ряд серьёзных проблем: [http://board.kolibrios.org/viewtopic.php?t=1211].  
0. Пользовательский доступ к портам и бортовой памяти устройств. [готово]<br />
 
1. Поддержка burst-блоков PCI и "длинных" пакетов PCI-express, в том числе и в пользовательском пространстве. [в процессе практической обкатки]<br />
 
2. Минимальная поддержка PCI-express Flow Control. [на очереди]<br />
 
3. Быстрый "бездисковый" старт ядра из ПЗУ. <br />
 
4. Набор инструментов для оптимальной конфигурации ядра.<br />
 
  
'''Сложно (в порядке отрыва от реальности):'''<br />
+
Опробование вариантов таких решений ведется в рамках проекта '''Колибри-А''' (литера "А" подчеркивает привязку кода к архитектуре AMD/HT).<br />
1. Поддержка MSI-прерываний.<br />
+
 
2. RT-оптимизация отдельных компонентов ядра.<br />
+
Колибри-А  — пока еще очень сырая и экспериментальная система, полезная только для квалифицированных системотехников, системных программистов, а также разработчиков и наладчиков компьютерного оборудования. <big>Разработчики предупреждают, что многие стандартные механизмы системной защиты и контроля доступа к критическим системным ресурсам в Колибри-А '''отключены''' с целью облегчения максимально свободого и удобного доступа к оборудованию. Использование этой системы на  домашних, офисных и серверных компьютерах '''категорически противопоказано''' и может повлечь невосстановимую потерю данных и полный выход из строя компьютера и/или подключенных к нему периферийных устройств.  
3. Оптимизация кода под одну базовую архитектуру с открытой документацией (''вариант:''[http://support.amd.com/us/ChipsetMotherboard_TechDocs/AMD_7-Series_Chipsets_-_Guidelines.pdf AMD-7series]) <br />
+
</big>
4. Поэтапная замена всех низкоуровневых функций BIOS (''а заодно и POST'') своим кернел-кодом<br />
+
 
 +
Итак, мы Вас предупредили...
 +
 
 +
-----
 +
 
 +
 
 +
'''Некоторые особенности Колибри-А'''<br />
 +
* Повышенные требования к [[Embedded_Hardware/ru|аппаратной платформе]].
 +
* Дополнительный [[Embedded_API/ru|API-сервис]], предоставляющий пользователю расширенный и быстрый доступ к низкоуровневому вводу/выводу. <br />
 +
* Бездрайверный [[SubFn62-DA/ru|ПДП]] и контроль нестандартной аппаратуры через доступный из пользовательского пространства статический системный буфер.
 +
* Расширенная поддержка функций PCI-express с элементами тренинга шины, MSI и контроля режимов питания. <br />
 +
* Размер ядра заметно сокращен - исключены многие избыточные, узкоспециальные и рудиментарные системные структуры и функции:
 +
** исключены видеорежимы низкого разрешения (ниже 800х600);
 +
** оставлен единственный видеорежим (VESA2, глубина цвета 32bpp);
 +
** из файловых систем оставлена только FAT.
 +
** убирается поддержка APM; реализовано прямое управление электропитанием.
 +
 
 +
'''На очереди:'''<br />
 +
* Оптимизированный под RT-приложения менеджер памяти.
 +
* Минимальная поддержка APIC.
 +
* Полная поддержка PCIe, включая MSI, обработку ошибок, хотплаг и управление виртуальными каналами.
 +
* Реализация быстрой загрузки ядра из ПЗУ.
 +
* Поддержка SATA-дисков (пока только в IDE-режиме).
 +
* Поддержка некоторых классов USB-устройств .
 +
* Дальнейшее уплотнение ядра
  
 
'''Конечная цель: '''<br />
 
'''Конечная цель: '''<br />
Line 23: Line 42:
 
в) легко конфигурируемое под конкретную задачу, и <br />
 
в) легко конфигурируемое под конкретную задачу, и <br />
 
г) прошитое в бортовое ПЗУ.<br />
 
г) прошитое в бортовое ПЗУ.<br />
 +
 +
'''Вариант реализации: '''
 +
 +
Как payload для проекта [http://www.coreboot.org/  coreboot]. Работа над этим ведется [http://board.kolibrios.org/viewtopic.php?f=4&t=1368]
 +
Для успешного осуществления требуется удаление зависимости ядра KolibriOS от вызовов BIOS.
 +
Ссылки по теме [http://www.coreboot.org/Payloads] [http://www.coreboot.org/Development_Guidelines] [http://www.coreboot.org/Developer_Manual]
  
 
[[Category:Coding]]
 
[[Category:Coding]]
 +
[[Category:Системная документация]]

Latest revision as of 10:39, 2 September 2011

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

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

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

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

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

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

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



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

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

На очереди:

  • Оптимизированный под RT-приложения менеджер памяти.
  • Минимальная поддержка APIC.
  • Полная поддержка PCIe, включая MSI, обработку ошибок, хотплаг и управление виртуальными каналами.
  • Реализация быстрой загрузки ядра из ПЗУ.
  • Поддержка SATA-дисков (пока только в IDE-режиме).
  • Поддержка некоторых классов USB-устройств .
  • Дальнейшее уплотнение ядра

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

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

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