Общая характеристика основных языков программирования

Сл. ЛК

Классификация событий

ЛК по СРВ от 18.10.12

Тема: «Задачи. Потоки. Процессы в системе реального времени»

Задача – это набор инструкций, предназначенных для выполнения логически законченной функции системы.

Процесс – это программный модуль (файл), который во время исполнения имеет в памяти свои независимые области для входа и выхода данных.

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

Основное свойство процессов – это установка приоритетов

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

Приоритет бывает:

1. статический

2. динамический

Состояние задачи (статус):

1. активная (выполняемая)

2. готовая (подготовлена и ожидает очереди на исполнение)

3. блокированная (отложенная). Действие приостановлено до выполнеиния каких-то событий. Может начать выполняться заново или с места остановки.

4. нулевая задача (пустая). Запускается, когда нет других задач, и система не должна простаивать.

5. реентерабельность (повторная входимость). Возможность без негативных последствий временно прервать выполнение какой-либо функции или подпрограммы. А затем вызвать эту функцию или эту подпрограмму снова.

Контекстная задача - это набор данных, необходимых для выполнения задачи.

По типу наст. события\По времени Периодические Спорадические Апериодические
Внешнее изменяет состояние внешней среды Периодическое поступление сетевого сообщения Аппаратная защита от частого или неправильного нажатия клавиш Сбой аппаратной части, хакерская атака
Внутреннее (изменяет состояние внутри системы) Программная защита от зацикливания, периодическое тестирование состояний задач Коррекция параметров в результате сбоя с помощью математических вычислений Чисто программная ошибка. Вмешательство программиста.
Временное Системный таймер Программируемый интервальный таймер Тайм-аут передачи сетевого сообщения

Семафоры – число, которое позволяет распределить доступ к ресурсам системы. Для того чтобы семафоры могли использоваться во встроенных приложениях СРВ должны удовлетворять следующим требованиям:

1. Предотвращение тупиков.

2. Предотвращение затяжных приоритетов

3. Минимальное влияние на задачи, не разделяющие критическую секцию.

4. Минимальное потребление ресурсов.

Стандарты в области программного обеспечения и аппаратной поддержки.

1. Стандарт POSIX отвечает за переносимый интерфейс ОС на уровни исходных текстов.

IEEE 1003.1

2. Unix. В этом стандарте отсутствует механизм приоритетности времени.

3. VMEbus – стандартная наращиваемая аппаратно и программно независимая многопроцессорная архитектура сопряжения различных устройств и принятая в качестве стандартов IEC, ANSI.

4. TIPC – стандарт для обеспечения взаимодействия между ОС в сетевых средах с другими многопроцессорными системами связи.

5. MPI – спецификация, разработана специально для языка С и Fortrun. Включает в себя около 200 функций. MPICH –библиотека. Позволяет установить очередность выполнения задач.

6. Стандарты по спецификации и безопасности ОС РВ

7. DO-178 Определяет процедуру сертификации программного обеспечения на основе установленного уровня качества системы.

8. Рассматривает 5 уровней отказа задач. Для каждого уровня определен набор требований ПО.

9. ARINC – 653

10. Стандарт по оценке безопасности СРВ. Одобрен агентством национальной безопасности и национальным институтом стандартизации США. CCITSE 1996 года.

11. MILS/ Требования к ядру ОС, его функциональности.

12. RSC – Стандарт для повторного использования компонентов ОС. Определяет критерии возможности многократно использовать ПО без повторной сертификации.

Российские документы, определяющие требования к ПО:

1. ГОСТ ИСО/МЭК 51904 – 2002. Программное обеспечение встроенных систем. Общие требования к разработке и документированию.

2. ГОСТ ИСО/МЭК 12207 – 99 IT рассматриваются процессы жизненного цикла программных средств.

3. ГОСТ ИСО/МЭК 15408 – 2002. Методы и средства обеспечения безопасности. Критерии оценки безопасности ИС.

SmallTalk

Assembler имеет возможности для создания ОС РВ. Позволяет гибко и полно использовать программное и аппаратное обеспечение компьютера. Программы, записанные на этом языке, занимают мало памяти. Машинно-зависимый язык.

Pascal разработан 1968 году в Швейцарии Николасом Виртом.

Особенность. В нем заложено структурное программирование. Простота использования. Не используется для СРВ.

C разработан в 1972 году для реализации ОС UNIX. Язык используется для создания СРВ.

Особенности: Структурированный, мобильный, программирование на этом языке отличается компактностью и быстротой исполнения.

С++ Разработан Бьерном Страуструпом. Язык высокого уровня. Отвечает всем требованиям современного программирования. Работает как с данными так и с функциями. С++ язык объектно-ориентированного программирования, используется при разработке СРВ.

ADA – язык, специально созданный для СРВ. Специально как единый язык СРВ.

RTL/2 - Набор библиотек или модулей, той или системы программирования, поставляемых вместе с компилятором, ОС или средой разработки программы.

Спецификации:

1. VPM

2. RSL

3. Lotos

4. TLC

Общие требования к языкам программирования систем реального времени:

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

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

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

4. Переносимость приложений, т.е. возможность скомпилировать его другим компилятором, который может быть на той же платформе либо в той же ОС, или в другой ОС.

Возможности языка реального времени:

1. Описание параллельных процессов

2. Переключение процессов

3. Синхронизация процессов

4. Обмен данными между процессами

5. Функции, связанные со временем, с таймерами, с абсолютным и относительным временем ожидания

6. Прямой доступ к внешним аппаратным портам

7. Обработка прерываний

8. Обработка исключений

VxWorks

Микроядро


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: