
- •Ответы по дисциплине: «Системное программное обеспечение»
- •Задачи не прелагаются!
- •Ос реального времени.
- •Технические требования к ос реального времени
- •Инверсия приоритетов и реальное время
- •Ос qnx характеристика
- •Концепция приоритетов в ос qnx
- •Типы диспетчеризации в ос qnx (fifo, rr). Основные правила (4 штуки) диспетчеризации.
- •Состояние потоков в qnx
- •Запуск процессов в qnx
- •Запуск потока
- •11. Синхронизация по отношению к моменту завершения потока.
- •Барьеры
- •Неявный обмен сообщения в qnx(open, close)
- •Привилегии обмена сообщениями. Установление соединения
- •Передача сообщений со стороны клиента
- •Общая структура сервера
- •Особенности обмена сообщениями. Каналы и потоки
- •Сообщения типа «имульс»
Ответы по дисциплине: «Системное программное обеспечение»
by NINTEO
Задачи не прелагаются!
Ос реального времени.
ОС реального времени – это операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий.
В настоящее время их насчитывают десятки. Самые популярные:VxWorks,OS9,pSOSt,LynxOS,VPTx,WindowsCENET,QNX.
Все системы реального времени делятся на две группы:
Системы жесткого реального времени(OS9,QNX). Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях.
Системы, не обеспечивающие жесткое реальное время. При высокой загруженности они не могут обеспечить режим в реальном времени. Системы мягкого реального времени характеризуются возможностью задержки реакции, что может привести к увеличению стоимости результатов и снижению производительности системы в целом.
Основное отличие систем жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени — не должна опаздывать с реакцией на событие
Технические требования к ос реального времени
- Система должна обеспечивать гарантированный отклик в гарантированное время
- Система должна ожидать способность обработки нескольких событий (гарантия завершения события в отведенный ему интервал)
- Система должна поддерживать вытесняющую много поточность и мульти процессорную архитектуру.
- Поведение системы должно быть предсказуемо после выполнения системных вызовов
- Отсутствие инверсии приоритетов
Инверсия приоритетов и реальное время
Инверсия приоритетов – это ситуация при которой в результате взаимной синхронизации управление получает не та ветвь исполнения, которая должна была бы получит из соображения приоритетности, а другая, с более низким приоритетом. Следовательно нарушается детерминированность и прогнозируемость систем.
Положим, в системе присутствуют 3 потока управления: Т1, Т2, Т3, причём их
приоритеты: T1 < T2 < T3. Положим, потоки активируются во временной последовательности так: T1
- T2 - T3. Если теперь T1 - захватывает некоторый монопольный ресурс, который
требуется так же и T3, и не успевает освободить его до активации Т2, то происходит:
- T1 не выполняется, потому, что он вытеснен T2 (в виду приоритетности);
- T3 не выполняется, потому, что ожидает ресурс, захваченный T1;
- T2 - выполняется ... вплоть до бесконечно долго!
Но T2, в описываемой ситуации – не является самым высокоприоритетным потоком,
подлежащим немедленному исполнению.если T3 - реакция на citical mission событие, то оно не только необработается в гарантированное время, но и вообще гарантировано не обработается.
Ос qnx характеристика
QNX - это зарегистрированная торговая марка фирмы QNX (Quantum) Software Systems, Canada. Фирма основана в 1980 году. В то же время QNX - это операционная система (ОС) стандарта POSIX, которая позволяет обеспечить на персональном компьютере распределенную обработку данных в реальном масштабе времени.
Как микроядерная операционная система, QNX основана на идее работы основной части своих компонентов как небольших задач, называемых сервисами. Это отличает её от традиционных монолитных ядер, в которых ядро операционной системы — одна большая программа, состоящая из большого количества «частей», каждая со своими особенностями.
Использование микроядра в QNX позволяет пользователям (разработчикам) отключить любую ненужную им функциональность, не изменяя ядро. Вместо этого можно просто не запускать определённый процесс. В QNX ядро имеет очень маленький размер (7 Кбайт) и выполняет две основные функции:
Передача сообщений . Доставка сообщений от одного процесса к другому во всей операционной системе ;
Диспетчеризация процессов. Диспетчер является частью ядра и привлекается всегда, когда процессы изменяют свое состояние в результате событий, связанных с сообщениями или прерываниями.
2. Диспетчеризация процессов. Диспетчер является частью ядра и привлекается всегда, когда процессы изменяют свое состояние в результате событий, связанных с сообщениями или прерываниями. Процессы и потоки в ОС QNX
Sched_get_priority_min()
Sched_get_priority_max()
Функции для получия минимального и максимального значения приоритетов
Если поток с более высоким приоритетом становится готовым ,к выполнению ядро немедленно переключает контекст на этот поток – вытеснение.
После его завершения ядро переключается на более низкоприоритетный поток – возобновление.