АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Стандартизация интерфейсов прикладных программ

Читайте также:
  1. I. Основы применения программы Excel
  2. I. РАБОЧАЯ ПРОГРАММА
  3. II съезд РСДРП. Принятие программы и устава. Возникновение большевизма.
  4. V. ПРОГРАММА СОРЕВНОВАНИЙ
  5. Алгоритмизация и программирование
  6. Алекс сидел за ограждением позади сцены, где фанатов не было, и давал интервью для какой-то программы.
  7. Альтруистические программы поведения
  8. Анализ выполнения федеральной целевой программы «Дети-инвалиды»
  9. Анализ ситуации 2000 года («Программа Грефа»)
  10. Антивирусные программы
  11. Антикризисная инвестиционная программа
  12. Базовое программное обеспечение

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

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

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

11.1. Стандарт POSIX. Первый из широко известных стандартов ИПП был разработан в начале 1990-х годов на базе интерфейсов прикладных программ, реализуемых операционными системами семейства UNIX. Этот стандарт, получивший название POSIX (Portable Operating System Interface), первоначально был ориентирован на приложения общего назначения. В первоначальной версии стандарта POSIX для реализации заданий использовалась концепция процессов. При этом под процессами фактически понимались задания с непересекающимися областями переменных (см. подраздел 5.7).

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

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

Стандарт POSIX широко внедряется в практику разработки операционных систем. Требования этого стандарта частично или полностью реализованы в таких широко распространенных ОСРВ как LynxOS, pSOSystem, QNX, VRTX, VxWorks. Вместе с тем, каждая из этих ОС наряду с элементами ИПП, предписываемыми стандартом POSIX, реализует свой собственный дополнительный набор элементов ИПП, ориентированный на поддержку сложившихся связей между производителям и потребителями операционных систем.

11.2. Стандарт OSEK. Одной из наиболее интенсивно развивающихся сфер применения систем реального времени являются КС для современных автомобилей. Во второй половине 1990-х годов ведущие производители автомобилей и автомобильной электроники создали Технический комитет для разработки проекта стандарта ОСРВ. Наименование стандарта OSEK является аббревиатурой формулировки, которая переводится с немецкого так: “Открытые системы и соответствующие интерфейсы для автомобильной электроники”. Действующим примером реализации стандарта OSEK является операционная система реального времени ERCOS (Embedded Real-Time Control Operating System) фирмы ETAS GmbH & CoKG, разработанная в 1999 году. Стандарт OSEK, изначально создававшийся для систем реального времени, ориентирован на эффективную реализацию многозадачных систем с развитыми межзадачными связями.

Стандарт OSEK предусматривает несколько вариантов конфигурирования архитектуры ОС, ориентированных, в частности, на поддержку приложений, которые либо допускают, либо исключают использование задач с состояниями ожидания. На этапе конфигурирования операционная система может быть также настроена на поддержку приложений, которые либо допускают, либо исключают одновременное существование однотипных заданий. Служба времени должна обеспечивать поддержку произвольного числа часовых механизмов, таймеры высокого разрешения, сенсорные тактирующие устройства, таймеры приложений. Для поддержки знаковых межзадачных связей предусматриваются статические сообщения и очереди сообщений. Реализация синхронизирующих сообщений стандартом OSEK не предусмотрена. Для взаимной синхронизации заданий используются логические шкалы и мьютексы. Для предотвращения инверсии приоритетов и взаимных блокировок предусмотрено использование протокола превентивного наследования приоритетов. Развитие стандарта OSEK продолжается в частности, в направлении построения спецификаций, регламентирующих управление сетевыми услугами для построения распределенных систем на базе ОС реального времени, отвечающей требованиям стандарта OSEK.

 

Заключение

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

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

 

Литература

У.Девис. Операционные системы. М.:Мир, 1980, 436 с.

Г.Катцан. Операционные системы. М.:Мир, 1975, 471 с.

С.Мэдник, Дж.Донован. Операционные системы. М.:Мир, 1977, 792 с.

Г.Дейтел. Введение в операционные системы. М.:Мир, 1987, т.1, 359 с., т.2, 398 с.

М.Блэкман. Проектирование систем реального времени. М.:Мир, 1977, 337 с.

Р.Коутс, И.Влеймник. Интерфейс “человек-компьютер”. Операционные системы. М.:Мир, 1990, 501 с.

К.Я.Давиденко. Технология программирования АСУТП. М.:Энергоатомиздат, 1985, 183 с.

А.Шоу. Логическое проектирование операционных систем. М.:Мир, 1981, 360 с.

Э.Тененбаум. Современные операционные системы. СПб.:ПИТЕР, 2005, 1037 с.

В.В.Никифоров. Разработка программных средств для встроенных систем: Учебное пособие. СПб.: Изд-во СПбГЭТУ”ЛЭТИ”, 2000. 104 с.

H.Kopetz. Real-Time Systems. Design Principles for Distributed Embedded Applications. Dordrecht: Kluwer Academic Publishers. 1997

D.Comer. Operating System Design. The Xinu Approach. Englewood Cliffs, NJ. Prentice-Hall, Inc., 1984, 474 p.

J.W.S.Liu. Real-Time Systems. NJ. Prentice-Hall, Inc., 2000, 610 p.

M. Bunnell. Galaxy White Paper.

http://www.lynx.com/lynx_directory/galaxy/galwhite.html.

pSOS +TM/ 68K Real-Time Executive, User’s Manual, Motorola, Inc.

QNX Operating System, System Architecture and Neutrino Sstem Architecture Guide, QNX Software System Ltd, 1999.

IEEE, Portable Operating System Interface (POSIX) – Part 1: System Application Program Interface (API).

Mentor Graphics, VRTX Real-Time Operating System

VxWorks Programmers Guide, WindRiver System, Inc., 1977.

ERCOSEK V3.0, User’s Guide. ETAS GmbH & CoKG, Stuttgard, 1999.

OSEK/VDX. Operating System. Version 2.0 revision 1.

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)