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

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

Приложение Задача_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

 

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