В статье рассматриваются проблемы использования ОС Linux в системах реального времени. Предлагаются пути преобразования ОС Linux в ОС реального времени и алгоритмы основных механизмов такого преобразования. Приводятся результаты тестирования новых свойств и механизмов ядра ОС Linux, разработанных в МЦСТ.
В 2007 году компания ЗАО МЦСТ завершила разработку новой машины «Эльбрус 3М1» (E3M1). Разработка архитектурно зависимой части ядра ОС Linux для новой архитектуры микропроцессора E2K была составной частью всего проекта. Справедливости ради необходимо отметить, что официальной ОС для машин серии Эльбрус является ОС МСВС, куда и вошло разработанное в МЦСТ ядро Linux для новой архитектуры.
Далее под термином ОС Эльбрус понимается ядро ОС Linux 2.6.14 с новой архитектурно зависимой частью для машин серии Эльбрус. Разработка нового ядра для новой архитектуры достаточно сложная и интересная работа и заслуживает отдельного внимания, но в данной статье речь не об этом. Данная статья посвящена анализу основных сложностей на пути преобразования ОС Linux в ОС реального времени. Это было одно из основных требований заказчика.
Почему выбрана ОС Linux, когда есть более достойные кандидаты для работы в реальном времени? Ответ простой. Операционная система Linux обладает наиболее приемлемыми лицензионными соглашениями. Можно было, конечно, выбрать путь на создание собственного, оригинального ядра ОСРВ, например, с интерфейсом OS Linux. Но, во-первых, сроки были не приемлемы для ориентации на разработку собственной ОС, во-вторых, «прикручивание» всего, что наработано для Linux, даже с учетом точного повторения интерфейса ядра, потребует немало времени и сил. Разрабатывать же все то, что окружает ядро и необходимо для работы – это еще более долгий путь. Так что остановились на варианте преобразования ОС Linux в ОС реального времени.
Подробнее... Загрузить файл
Содержание:
Введение
1. Основной цикл работы ФПОРВ и критерий качества ОСРВ
2. Основные состояния ОС
3. Основные трудности и что делать
3.1. Синхронизация
3.2. Обработка прерываний
3.3. Управление временем
3.3.1. Работа с системным таймером (PIT)
3.3.2. Работа с локальным таймером процессора (LAPIC)
3.4. Планирование процессов
4. Стандартный linux-patch-rt
5. Общий список изменений для режима реального времени
6. Результаты работы
7. Об авторах
Литература