Архитектура ОС

Содержание

Слайд 2

12. Архитектура RTOS 2002 v.0.1 Особенности ОСРВ (RTOS) Соответствие стандартам Стандарты

12. Архитектура RTOS 2002 v.0.1

Особенности ОСРВ (RTOS)

Соответствие стандартам
Стандарты - Real-Time POSIX,

μITRON APIs
Модульность и масштабируемость
Предсказуемость и высокая производительность
Время переключения контекста, latency прерываний, latency семафорных операций get/release latency, etc
Оптимизация системных вызовов
Невытесняемые (неделимые) участки кода должны быть минимизированы
Приоритетная и планируемая обработка прерываний
Поддержка планирования реального времени
Поддержка управления инверсией приоритетов
Поддержка таймеров с высокой разрешающей способностью
Упрощенное управление памятью
Слайд 3

12. Архитектура RTOS 2002 v.0.1 RTOS и ОS общего назначения

12. Архитектура RTOS 2002 v.0.1

RTOS и ОS общего назначения

Слайд 4

12. Архитектура RTOS 2002 v.0.1 Прмышленные RTOS Коммерческие RTOS LynxOS pSOSystem

12. Архитектура RTOS 2002 v.0.1

Прмышленные RTOS

Коммерческие RTOS
LynxOS
pSOSystem
QNX/Neutrino
VRTX
VxWorks
. . .


«Открытые» RTOS
eCOS
RT Linux

Слайд 5

12. Архитектура RTOS 2002 v.0.1 Процессы и нитки Аппаратная платформа Задача_1

12. Архитектура RTOS 2002 v.0.1

Процессы и нитки

Аппаратная платформа

Задача_1

Задача_N

. . .

Приложение

Процесс 1

Микроядро

Процесс

1

. . .

Сервисы (API)

Процесс (process)
Выполняется в независимом, защищенном адресном пространстве

Аппаратная платформа

Задача_1

. . .

Микроядро

. . .

Сервисы (API)

Нитка_1

Нитка_N

Нитка (thread)
Выполняется в адресном пространстве процесса
Планируется как самостоятельная единица (наравне с процессом)

Слайд 6

12. Архитектура RTOS 2002 v.0.1 Адресное пространство нитки routine_2() var1 var2

12. Архитектура RTOS 2002 v.0.1

Адресное пространство нитки

routine_2() var1
var2

Адресное пространство
процесса

routine_1()

var1

main()
routine_1()
routine_2()

array_1
array_2

Указатель стека
Счетчик адреса
Регистры

Указатель стека
Счетчик адреса
Регистры

Нитка 2

Нитка 1

Stack

Stack

Код
процесса

Данные
процесса

Куча

ID процесса

Дескрипторы

Слайд 7

12. Архитектура RTOS 2002 v.0.1 Стандарт POSIX POSIX Portable Operating System

12. Архитектура RTOS 2002 v.0.1

Стандарт POSIX

POSIX Portable Operating System Interface
Стандарт API
POSIX

1003.1: определяет основные функции UNIX OS
Расширения реального времени POSIX
POSIX 1003.1b: real-time extension
Приоритетное планирование, модифицированные сигналы, таймеры с высокой разрешающей способностью, синхронный/асинхронный ввод/вывод и т.д.
POSIX 1003.1c: thread extension
Создание ниток, управление нитками
Слайд 8

12. Архитектура RTOS 2002 v.0.1 Основной механизм параллельности Функциональность: Создание/инициирование/уничтожение Управление

12. Архитектура RTOS 2002 v.0.1

Основной механизм параллельности
Функциональность:
Создание/инициирование/уничтожение
Управление ресурсами нитки
Планирование выполнения
Изменение/просмотр параметров

(приоритет, дисциплина планирования, адрес и размер стека, и т.д)

Расширения реального времени –
нитки

Слайд 9

12. Архитектура RTOS 2002 v.0.1 Расширения реального времени - таймеры Реальное

12. Архитектура RTOS 2002 v.0.1

Расширения реального времени - таймеры

Реальное время доступно

для нитки
Ситема может иметь несколько таймеров
Функциональность:
получение/изменение времени часов
поддержка до 32-х таймеров - создание, запуск, уничтожение;
разрешение таймера – наносекунды
Слайд 10

12. Архитектура RTOS 2002 v.0.1 Планирование с фиксированными приоритетами; количество уровней

12. Архитектура RTOS 2002 v.0.1

Планирование с фиксированными приоритетами; количество уровней не

менее 32
Для ниток имеется возможность:
устанавливать и просматривать собственные приоритеты и приоритеты других ниток
выбирать FIFO или round-robin дисциплины обслуживания очереди готовых
Предусматривается принципиальная возможность поддержки динамических приоритетных алгоритмов, например - EDF (приводит к высоким накладным расходам)
Различные нитки внутри одного процесса могут планироваться в соответствии с различными дисциплинами планирования

Расширения реального времени - планирование

Слайд 11

12. Архитектура RTOS 2002 v.0.1 Семафоры (semaphores) простота реализации, низкие накладные

12. Архитектура RTOS 2002 v.0.1

Семафоры (semaphores)
простота реализации, низкие накладные расходы
допускает

инверсию приоритетов
Mutex
поддерживает как протокол наследования приоритетов, так и priority ceiling протокол
Условные переменные (condition variables)
Механизм сообщений
приоритетные сообщения
send/receive: неблокирующий
механизм сигналов для случая ниток, ждущих ответа

Расширения реального времени –
синхронизация и взаимодействие