Файл: Курс лекций по дисциплине СРВ (Артемов СП).pdf

Добавлен: 15.11.2018

Просмотров: 10814

Скачиваний: 12

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

51 

использовании  измерений  во  время  тестирования,  могут  быть 

получены лучшие оценки, которые потребуют перепланировки. 

Планировка 

Планировка  является  составной  частью  разработки  физической 

архитектуры.  Предложенный  план  должен  быть  осуществим.  Это 

значит,  что  все  сроки  должны  гарантироваться  при  всех 

предсказуемых  обстоятельствах.  Реализация  этого  требует  знания 

скорости  процессора,  скорости  памяти  и  ее  емкости,  временных 

характеристик  ядра.  Могут  быть  нужны  также  временные  параметры 

других  устройств.  Если  мы  предполагаем,  что  среда  исполнения 

поддерживает приоритетную опережающую диспетчеризацию потоков, 

то в этом случае планировка заключается в определении статических 

приоритетов  потоков,  заключенных  в  циклических  и  единичных 

действиях.  

Контроль за временными ошибками 

Описанная  выше  планировка  может  быть  эффективна,  если 

оценки/измерения  верхней  границы  времени  исполнения  точны.  В 

области  временных  характеристик  определяются  две  стратегии  для 

ослабления результатов ошибок в компонентах программ: 

Не  давать  объекту  вычислительного  времени  больше,  чем 

ему нужно.  

Не позволять объектам выполняться по истечении срока.  


background image

52 

Операционные системы реального времени 

Необходимы  для  обеспечения  выполнения  пользовательских 

задач  и  функций.  Операционная  СРВ  базируется  на  планировщике 

задач (периодическом и апериодическом). 

Имеет особенности по работе с объектами ввода/вывода. Любые 

ОС  реального  времени  базируются  на  архитектуре.  Существуют  3 

основных архитектуры ОС: 

(1) 

– монолитная, 

(2) 

– на основе микроядра, 

(3) 

– объектно-ориентированная. 

Каждая 

из 

архитектур 

позволяет 

обеспечивать 

функционирование задач в режиме реального времени. 

Монолитная архитектура ОС 

Саму  ОС  можно  разделить  на  5  основных  частей  (см.  рис.23): 

задачи, интерфейс прикладных программ (И.П.П.), собственно ОС или 

ее ядро, драйверы (Д.), аппаратные средства (А.С.). 

И.П.П.

Задача 1

Задача 2

Задача N

ОС

Д.

А.С.

Рис. 23.  

Самым простым примером является ОС DOS. 

Достоинства: простота создания, простота управления задачами. 


background image

53 

Недостатки: отсутствие гибкости в системе и возможности 

управления задачами в процессе функционирования систем; при 

зацикливании одного из блоков система блокируется и перестает 

функционировать. 


background image

54 

Архитектура на базе микроядра

Интерфейс прикладных программ

Задача 1

Задача 3

Задача 2

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

Менеджер 

задач

Менеджер 

памяти

Менеджер 

файлов

Менеджер сети

Микроядро

  

Рис. 24. 

Принцип децентрализации функций ОС 

Все  базовые  функции  –  задача  микроядра,  то  есть  запуск 

системы,  управление  доступом  к  аппаратным  средствам  и  т.д.  Все 

остальные  функции  выделены  в  отдельные  менеджеры.  Каждый 

менеджер выполняет строго определённые функции. 

Достоинства: более гибкая система 

Недостатки:  каждая  задача  зависит  от  микроядра  и  от  его 

реализации. 

Большинство  операционных  систем  РВ  реализовано  на  базе 

микроядра (QNX и т.д.) 

Объектно-ориентированная архитектура 

Вводится  понятие  объекта.  Объект  для  ОС  –  это  задача.  Для 

каждой  задачи  была  предложена  реализация  ядра  пользователя. 


background image

55 

Каждый  элемент  архитектуры  может  взаимодействовать  с  любым 

другим.  Виды  и  характер  воздействия  определяется  конфигурацией 

ОС. 

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

Сеть 

Менеджер 

сети

Менеджер 

памяти

Менеджер задач

Менеджер 

файлов

Ввод/вывод

Почтовый 

ящик

Микроядро 

пользователя

поток 2

поток 1

Микроядро 

пользователя

поток 2

поток 1

Рис. 25. 

Каждая  программа  включает  микроядро,  которое  обеспечивает 

выполнение  основных  функций,  распределение  приоритетов,  загрузка 

задач  и  обеспечение  взаимодействия  с  другими  задачами. 

Взаимодействие  с  другими  данными  через  потоки  (обеспечивает 

передачу  информации  между  программами  и  др.),  то  есть  это  буфер 

для  обмена  информацией.  Для  взаимодействия  всех  компонентов 

системы  был  реализован  модуль  «почтовый  ящик».  Это  буфер 

системы  (обеспечивает  приём,  обработку  и  передачу  информации 

между  компонентами).  «Почтовый  ящик»  является  сервером,  он 

функционирует  по  запросу  от  других  компонентов.  Характер