Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОММСРВ - лекции.doc
Скачиваний:
32
Добавлен:
12.03.2016
Размер:
602.62 Кб
Скачать

Управление процессами в ос VxWorks.

ПО в ОС VxWorks организуется в виде взаимодействующих независимых задач (процессов).

Одной из важнейших функций ядра является выполнение задач в соответствии с их приоритетом.

Прикладной процесс может находится в одном из нескольких состояний.

  1. READY. Процесс готов и выполняется и ему не нужно никаких других ресурсов, кроме процессорного времени.

  2. PEND. Выполнение процесса заблокировано из-за нехватки какого-либо ресурса.

  3. DELAY. Процесс выполнил команду, которая предписывает ему некоторое время не выполняться.

  4. SUSPEND. Процесс не может выполняться. Используется при отладке.

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

Основным режимом является вытесняющая многозадачность.

Это означает, что как только процесс с большим приоритетом готов к работе, он немедленно вытесняет процесс с меньшим приоритетом.

Ещё одним механизмом планирования выполнения задач является механизм с циклическими приоритетами.

Используется для процессов с одинаковым уровнем приоритета. Данный режим может быть включен по вызову специальной системной функции.

Инверсия приоритетов

Ситуация, когда процесс с высшим приоритетом ожидает завершения выполнения процесса с меньшим приоритетом.

В VxWorks используется механизм снятия инверсии приоритетов. Он заключается в следующем. Процессу, захватившему ресурс, устанавливается уровень приоритета, равный максимальному приоритету задач, требующих данный ресурс.

Межпроцессный обмен

  1. Обмен через разделяемую память

Если два процесса будут одновременно изменять одну ячейку памяти, целостность данных может быть нарушена.

Для того, чтобы избежать этого и используют следующий вид обмена.

  1. Бинарные семафоры

Может принимать два значения: ресурс захвачен и ресурс свободен

ОС VxWorks содержит сервисные функции для работы с бинарными семафорами.

  1. Мьютексы

Бинарный семафор, для которого реализован алгоритм снятия инверсии приоритета.

  1. Счётные семафоры

Позволяют отслеживать количество процессов, обращающихся к тому или иному ресурсу.

  1. Сигналы

Для их использования в процессе объявляется специальная функция – обработчик сигнала. Если процесс получает сигнал от другого процесса, выполнение процесса, получившего сигнал, прекращается. При этом управление передаётся обработчику.

  1. Очередь сообщений

Для использования этого механизма, процесс должен создать свою очередь. При этом любой другой процесс должен поместить в неё своё сообщение.

  1. Механизм обмена, основанный на библиотеке Socket’ов

Два процесса устанавливают между собой соединение по протоколу TCP/IPс помощью библиотекиSocket’ов. При этом не важно, находятся ли они на одной станции или на разных.

  1. Механизм RPC

Remote Procedure Call.

Разработка прикладного ПО для ОС реального времени

  1. Ёмкость преобразований

  2. Трудоёмкость и отчуждаемость программ

  3. Проблема контроля данных и безопасности функционирования

Цена ошибки бывает очень высока как в денежном выражении, так и в человеческих жизнях..

CASE-средства. Специальные инструментальные пакеты для программирования ПО для систем, работающих в АСУТП.

Главная особенность – программирование на технологически ориентированных языках высокого уровня.

Эти языки описаны в стандарте IEC611313:

  1. FBD – язык функциональных блоковых диаграмм

  2. SCF – язык последовательных функциональных схем

  3. LD – язык релейных диаграмм

  4. ST– язык структурированного текста (Pascal)

  5. IL – язык инструкций (ассемблер)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]