Типы задач. Виды программирования. Виды ресурсов.
Определение ОСРВ и СРВ.
Системы реального времени – системы, в которых успешность работы любой программы зависит не только от ее логической правильности, но и от времени, за которое она получила результат.
Если временные ограничения не удовлетворены, то фиксируется сбой в работе системы.
В зависимости от отношения к опозданиям системы реального времени делятся на “жесткие” (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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!