Разработка модульного HAL и отладка ядра ОС в пользовательском режиме Автор: Козлов А.П. студент 545 группы Научный руководитель: Рецензент: Абусалимов Э.Ш. асп. каф. системного программирования Фоминых Н.Ф. доцент каф. системного программирования Слой аппаратных абстракций HAL - Hardware Abstraction Layer ... Ядро ОС HAL Аппаратное обеспечение Способы отладки ОС ● ● ● ● Отладочный вывод Самодиагностика Моделирование на виртуальных машинах Запуск в как приложение пользовательском режиме Отладка ядра ОС в пользовательском режиме Ядро и высокоуровневые части не зависят от аппаратной платформы ... Ядро ОС HAL Отладка Постановка задачи В рамках проекта по созданию ОС РВ Embox: ● Разработать способ организации HAL, позволяющий облегчить перенос на новую платформу ● Реализовать слой абстракций для запуска в пользовательском режиме ОС Linux Организация слоя аппаратных абстракций Перенос осложняет монолитность HAL ... Ядро ОС Пользователи Процессы ... ФС Сеть ... ... Слой аппаратных абстракций interrupt, clock, MMU, ... Модульная структура HAL ● Разбить HAL на модули с четко определенным интерфейсом ● Не все модули обязательно реализованы ● Модули можно разрабатывать последовательно ● Модули можно тестировать независимо ... Управление MMU Context switch Атомарные операции Системный таймер Прерывания Исключения Пространства адресов Режим процессора Отладочный вывод Карта памяти Модульная структура HAL ... Ядро ОС Слой аппаратных абстракций Карта памяти Порядок разработки ... Управление MMU Context switch Атомарные операции Системный таймер Прерывания Исключения Пространства адресов Режим процессора Отладочный вывод Модульная структура HAL ... Ядро ОС Слой аппаратных абстракций HAL операционной системы Embox Переработаны HAL поддерживаемых архитектур: ● SPARC ● Microblaze ● ARM ● x86 ● MIPS ● PowerPC Ядро ОС в пользовательском режиме ОС ... Данные Данные Сигнал HAL Гипервизор Функции хост-системы Результаты ● Разработана модульная организация HAL, облегчающая процесс портирования ● Предложенная организация использована при переносе ядра ОС в пользовательский режим