Типы задач. Виды программирования. Виды ресурсов.



Определение ОСРВ и СРВ.

Системы реального времени – системы, в которых успешность работы любой программы зависит не только от ее логической правильности, но и от времени, за которое она получила результат.

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

В зависимости от отношения к опозданиям системы реального времени делятся на “жесткие” (hard) и “мягкие” (soft).

В жесткой системе:

опоздания не допускаются ни при каких обстоятельствах;

в случае опоздания результаты обработки уже никому не нужны;

опоздание считается катастрофическим сбоем;

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

В мягкой системе реального времени: повышается стоимость опоздания; допускается низкая производительность в случае опоздания. Т.е. система называется жесткой, если "система не должна опаздывать никогда", и мягкой, если "система не должна опаздывать, как правило".

ОСРВ. Мы определим ОСРВ как ОС, которая может использоваться для построения СРВ. Стандарт POSIX 1003.1 даёт определение: «Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени». Нет мягких или жестких ОСРВ. ОСРВ должна быть предсказуемой – это не значит, что она должна быть быстрой, это означает, что при построении СРВ можно добиться того, чтобы максимальное время, затрачиваемое на определенную работу, укладывалось в заранее установленный лимит, сравнимый с требованиями приложения.

Типичные времена реакции на внешние события в управляемых ОСРВ процессах.

События, происходящие на объекте, регистрируются датчиками, данные с датчиков передаются в модули ввода-вывода системы. Модули ввода-вывода генерируют запрос на прерывание в управляющем компьютере, подавая ему сигнал о том, что на объекте произошло событие. Получив сигнал система должна запустить программу обработки этого события. Интервал времени – от события на объекте и до выполнения первой инструкции в программе обработки этого события и является временем реакции системы на события.

ОСРВ содержат механизмы, гарантирующие заранее вычисленное время реакции системы.

Согласно определению, ОСРВ должна «обеспечить требуемый уровень сервиса в заданный промежуток времени». Этот промежуток времени обычно задается периодичностью и скоростью процессов, которыми управляет система. Приблизительное время реакции в зависимости от области применения ОСРВ может быть следующим:

· математическое моделирование – несколько микросекунд;

· радиолокация – несколько миллисекунд;

· складской учет – несколько секунд;

· торговые операции – несколько минут;

· управление производством – несколько минут;

· химические реакции – несколько часов.

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

· наличие как можно большего количества уровней прерываний

· как можно меньшее время реакции на прерывание

Основные области применения ОСРВ.

¨ Военная и космическая области: бортовое и встраиваемое оборудование: радары; цифровые видеосистемы; ракеты.

¨ Промышленность:автоматические системы управления производством; автомобилестроение; энергетика; телекоммуникации; банковское оборудование

¨ Товары широкого потребления:мобильные телефоны; цифровые телевизионные декодеры; цифровое телевидение; компьютерное и офисное оборудование.

Отметим, что часто ОСРВ существуют в нескольких вариантах: полном и сокращенном, когда объем системы составляет несколько килобайтов.

 

Особенности оборудования, на котором работают ОСРВ.

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

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

Промышленные компьютеры. Сотоят из одной платы, на которой размещены: процессор, контроллер памяти, память 4-х видов:

¨ ПЗУ, постоянное запоминающее, где обычно размещена сама ОСРВ; типичная емкость – 500 Kb;

¨ ОЗУ, оперативное запоминающее устройство, куда загружается код и данные ОСРВ; типичная емкость – 16 Mb;

¨ статическое (то же, что и ОЗУ, но питается от имеющейся на плате батарейки), где размещаются критически важные данные, которые не должны пропадать при выключении питания; типичная емкость – 2 Mb; типичное время сохранения данных – 5 лет;

¨ флеш-память (электрически программируемое ПЗУ), которое играет роль диска для ОСРВ; типичная емкость – 4 Mb; и контроллеры периферийных устройств.

Плата помещается в специальный корпус (крейт), в котором разведены разъемы шины и установлен блок питания.

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

Встраиваемые системы. Устанавливаются внутрь оборудования, которым они управляют. Для крупного оборудования (например, локомотив или самолет) могут по исполнению совпадать с промышленными компьютерами. Для оборудования поменьше (например, принтер) могут представлять собой процессор с сопутствующими элементами, размещенный на одной плате с другими электронными компонентами этого оборудования. Для миниатюрного оборудования (например, мобильный телефон) процессор с сопутствующими элементами может быть частью одной из больших интегральных схем этого оборудования.

 

Основные определения.

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

Процессор – это устройство, выполняющее определенный набор инструкций.

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

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

1. “остановлен” – процесс остановлен и не использует процессор;

2. “терминирован” – процесс терминирован и не использует процессор;

3. “ждет” – процесс ждет некоторого события

4. “готов” – процесс не остановлен, не терминирован, не ожидает, не удален, но и не работает;

5. “выполняется” – процесс выполняется и использует процессор;

Стек (stack) – это область памяти, в которой размещаются локальные переменные, аргументы и возвращаемые значения функций.

Виртуальная память – это “память”, в адресном пространстве которой работает процесс.

Межпроцессное взаимодействие – это тот или иной способ передачи информации из одного процесса в другой. Формы взаимодействия:

· Разделяемая память – два (или более) процесса имеют доступ к одному и тому же блоку памяти.

· Семафоры – два (или более) процесса имеют доступ к одной переменной, принимающей значение 0 или 1.

· Сигналы – это сообщения, доставляемые посредством операционной системы процессу.

· Почтовые ящики – это очередь сообщений, которые помещаются в почтовый ящик процессами и/или операционной системой.

Событие – это оповещение процесса со стороны операционной системы о той или иной форме межпроцессного взаимодействия.

Задача (или поток, или нить, thread) – это как-бы одна из ветвей исполнения процесса:

¨ разделяет с процессом область памяти под код и данные;

¨ имеет собственный стек;

¨ (в системах с виртуальной памятью) разделяет с процессом отображение виртуальной памяти на физическую;

¨ имеет собственное состояние.

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

Приоритет – это число, приписанное операционной системой каждому процессу и задаче. Чем больше это число, тем важнее этот процесс или задача и тем больше процессорного времени он или она получит.

 

 

Типы задач. Виды программирования. Виды ресурсов.

· Циклические задачи. Характерны для процессов управления и интерактивных процессов.

· Периодические задачи. Характерны для многих технологических процессов и задач синхронизации.

· Импульсные задачи. Характерны для задач сигнализации и асинхронных технологических процессов.

· Последовательное программирование. Программа исполняется на одном процессоре в виде одного процесса, состоящего из одной задачи.

· Параллельное программирование. Различают квази-параллельные программы, состоящие из нескольких независимых процессов, и истинно-параллельные программы, состоящие из нескольких связанных между собой параллельно работающих процессов или/и задач.

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

По своей природе ресурсы можно разделить на:

1. аппаратные:процессор; область памяти; периферийные устройства; прерывания;

2. программные:программа; данные; файлы; сообщения.

По своим характеристикам ресурсы разделяют на:

· активные:способны изменять информацию (процессор);

· пассивные:способны хранить информацию;

· локальные:принадлежат одному процессу; время жизни совпадает с временем жизни процесса;

· разделяемые:могут быть использованы несколькими процессами; существуют, пока есть хоть один процесс, который их использует;

· постоянные:используются посредством операций “захватить” и “освободить”;

· временные:используются посредством операций “создать” и “удалить”.

· Разделяемые ресурсы бывают:

· не критичные:могут быть использованы одновременно несколькими процессами

· критичные:могут быть использованы только одним процессом, и пока этот процесс не завершит работу с ресурсом, последний не доступен другим процессам


Дата добавления: 2018-08-06; просмотров: 490; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!