Скачиваний:
58
Добавлен:
01.05.2014
Размер:
84 Кб
Скачать
☆

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

Приложение Задача_1 . . . Задача_N

Сервисы (API)

Функции ОС

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

«Монолитная» архитектура

–жесткая связь между функциями ОС

–плохая переносимость;

–сложность расширения

Принцип «клиент-сервер»

–повышенная избыточность;

–необходимость поддержки защиты памяти;

–масштабируемость (scalability);

–высокая надежность;

Приложение Задача_1 . . . Задача_N

Сервисы (API)

С. памяти

 

С. процессов

 

 

 

С. сети

 

Файловый С.

Микроядро

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

(С – сервер)

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

1

2002 v.0.1

 

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

•Соответствие стандартам

–Стандарты - Real-Time POSIX, ITRON APIs

•Модульность и масштабируемость

•Предсказуемость и высокая производительность

–Время переключения контекста, latency прерываний, latency семафорных операций get/release latency, etc

•Оптимизация системных вызовов

–Невытесняемые (неделимые) участки кода должны быть минимизированы

•Приоритетная и планируемая обработка прерываний

•Поддержка планирования реального времени

•Поддержка управления инверсией приоритетов

•Поддержка таймеров с высокой разрешающей способностью

•Упрощенное управление памятью

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

2

2002 v.0.1

 

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

Особенность

Виртуальная память

Распределение ресурсов

Планирование

Диспетчеризация

Ввод/вывод

Передача данных между задачами

Файловая система

RTOS

ОС общего

назначения

 

нет

статическое

приоритетное

вытеснение

реализуется приложением

разделяемая память; ускоряется посредством передачи указателей

Нет / использование ограничено

да

динамическое

fairness («по справедливости»)

time-slicing/ вытеснение

через драйверы

использование сервисов pipe, mailbox и т.п.

да

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

3

2002 v.0.1

 

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

Коммерческие RTOS

–LynxOS

–pSOSystem

–QNX/Neutrino

–VRTX

–VxWorks

–. . .

«Открытые» RTOS

–eCOS

–RT Linux

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

4

2002 v.0.1

 

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

Приложение Задача_1 . . . Задача_N

Сервисы (API) Процесс 1 . . . Процесс 1

Микроядро

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

Процесс (process)

–Выполняется в независимом, защищенном адресном пространстве

Нитка (thread)

–Выполняется в адресном пространстве процесса

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

 

 

 

 

 

 

 

 

 

 

 

. . .

 

 

 

 

 

Задача_1

 

 

 

 

Нитка_1

 

 

 

Нитка_N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сервисы (API)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс 1

. . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нитка_1

 

 

 

Нитка_1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Микроядро

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

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

5

2002 v.0.1

 

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

 

 

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

Дескрипторы

 

 

процесса

 

 

 

 

Нитка 2

routine_2()

var1

Указатель стека

Stack

 

var2

Счетчик адреса

 

 

 

 

Регистры

 

Нитка 1

routine_1()

var1

Указатель стека

Stack

 

 

Счетчик адреса

 

 

 

 

Регистры

 

Код

main()

 

ID процесса

 

процесса

routine_1()

 

 

 

 

 

 

routine_2()

 

 

 

Данные

array_1

 

 

 

процесса

array_2

 

 

 

Куча

 

 

 

 

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

 

6

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

–Создание ниток, управление нитками

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

7

2002 v.0.1

 

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

•Основной механизм параллельности

•Функциональность:

–Создание/инициирование/уничтожение

–Управление ресурсами нитки

–Планирование выполнения

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

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

8

2002 v.0.1

 

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

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

•Ситема может иметь несколько таймеров

•Функциональность:

–получение/изменение времени часов

–поддержка до 32-х таймеров - создание, запуск, уничтожение;

–разрешение таймера – наносекунды

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

9

2002 v.0.1

 

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

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

•Для ниток имеется возможность:

–устанавливать и просматривать собственные приоритеты и приоритеты других ниток

–выбирать FIFO или round-robin дисциплины обслуживания очереди готовых

•Предусматривается принципиальная возможность поддержки динамических приоритетных алгоритмов, например - EDF (приводит к высоким накладным расходам)

•Различные нитки внутри одного процесса могут планироваться

всоответствии с различными дисциплинами планирования

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

10

2002 v.0.1

 

Соседние файлы в папке Конспект в презентациях