|
||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Особенности приложений реального времениДействия, операционной системы (как и всякой обслуживающей системы), производятся с целью поддержки исполнения прикладных программ (приложений). Поэтому состав и способы реализации функций ОС, ориентированных на работу в составе КС определенного класса, должны учитывать особенности программных приложений, обеспечивающих достижение целей создания КС данного класса. Разработка ОС ориентируется, как правило, не на поддержку какой-то одной конкретной КС, а на поддержку КС более или менее широкого класса. Это означает необходимость учета специфики требований к операционной системе со стороны приложений рассматриваемого класса. В частности, при разработке ОС, ориентированных на поддержку систем реального времени (СРВ), необходимо выяснить, в чем состоят особенности требований к составу и методам реализации функций ОС со стороны задач, образующих программные приложения для таких систем. Эти особенности диктуют подходы к разработке ОС реального времени, определяют отличия ОС этого типа от ОС общего назначения. Будем считать, что к классу СРВ относятся такие КС, при разработке которых учитываются явно сформулированные требования привязки выполнения прикладных функций системы к ходу времени. Требования к операционным системам со стороны программных приложений реального времени определяются условиями использования самих СРВ, особенностями требований к ним со стороны внешних (по отношению к КС) процессов. 2.1. Привязка функций СРВ к ходу времени. Необходимость привязки выполнения функций программного приложения к ходу времени возникает в тех случаях, когда имеются более или менее жесткие временные рамки для информационных обменов с внешними процессами. На рис. 2 приведены примеры взаимосвязей СРВ с внешними процессами. Размещение внешних объектов на рис.3 подчеркивает различие между внешними объектами информационной и физической сфер. Источниками данных, поступающих в КС от объектов информационной сферы, являются сугубо информационные процессы. Приемниками данных, поступающих от КС объектам информационной сферы, также являются сугубо информационные процессы. Темпы развития внешних информационных процессов могут накладывать требования реального времени на характер выполнения функций КС. Однако, во многих случаях эти темпы могут быть адаптированы к возможностям КС. Иначе обстоит дело с объектами физической сферы. Объектами физической сферы являются в конечном счете силовые процессы, темп развития которых в большинстве случаев предопределен. Соответственно, предопределенными являются и требования реального времени, накладываемые на функции программных приложений, обеспечивающие взаимодействие КС с этими силовыми процессами. 2.2. Взаимодействие с объектами информационной сферы. Одно из направлений информационных обменов, представленных на рис. 3 – человеко-машинный интерфейс, обеспечивающий взаимодействие КС с обслуживающим (или эксплуатирующим) ее персоналом. Можно указать типы КС, для которых человеко-машинный интерфейс является единственным из реализованных направлений информационных обменов с внешней средой: например, электронные словари, простейшие приборы для компьютерных игр.
Рис. 3. Взаимосвязи КС с внешними процессами.
Функции КС, связанные с обменами через человеко-машинный интерфейс, могут привести к требованиям реального времени при работе человека-оператора в интерактивном режиме. Заметим, что при разработке таких приборов, как электронные словари, требования реального времени в явном виде могут и не формулироваться. Следовательно, в соответствии с приведенным выше определением такая система не является системой реального времени. И, наоборот, при разработке программных приложений, реализующих компьютерные игры, уровень срочности реакции КС на те или иные действия оператора могут быть отнесены к важнейшим пунктам технического задания. В табл. 1 приведены примеры уровней срочности реакции КС на запросы, поступающие с пульта оператора. Не более чем через сто-двести миллисекунд система должна акустически или визуально подтверждать восприятие ею простейших действий оператора (например, нажатие отдельной клавиши). Таблица 1. Уровни срочности диалоговых функций.
Если действие не проявилось почти мгновенно, пользователь может предположить, что клавиша не сработала и нажмет ее снова. Еще боле высокий уровень срочности реакции может требоваться от КС в случае работы оператора с координатными устройствами (например, смещение курсора в ответ на движение мыши). Реакцию системы на простые команды (например, связанной с появлением нового окна на экране) оператор готов ждать полсекунды-секунду. При возникновении связного диалога (пользователю необходимо сохранять в своей кратковременной памяти нить диалога) задержка между следующими друг за другом фрагментами диалога не должна превышать 1 – 2 секунды. Время ответа системы на простые запросы (такие, как просмотр каталогов на диске) не должно превышать 1 – 2 секунды. Если оператор направляет в КС запрос, который он интуитивно рассматривает как запрос повышенной сложности, он психологически готов к тому, что системе потребуется несколько секунд на подготовку ответа. На практике в таких случаях могут быть приемлемы и задержки до 10 секунд. При выполнении функций, связанных с привлечением значительных вычислительных ресурсов (например, компиляция или генерация отчета, подготовка к оформлению данных в заданном формате), оператор должен воспринимать как естественную и более значительную длительность задержки. Как следует из табл.1, при работе в интерактивном режиме для различных типов запросов оператора к КС значения срочности запросов могут различаться в сотни раз (при задержках более 20 секунд режим обменов через человеко-машинный интерфейс не считается интерактивным). Это означает наличие существенных различий (в сотни раз) в требованиях по срочности выполнения функций программного приложения, соответствующих этим запросам. Использование коммуникационной среды позволяет связывать процессы, реализуемые различными КС в распределенные системы. Обслуживание коммуникационных интерфейсов может возлагаться как на операционную систему, так и непосредственно на программные модули приложения. И в том и в другом случае на ОС возлагается выделение процессорного времени на это обслуживание. Характеристики коммуникационной среды (например, пропускная способность каналов связи) согласуется с возможностями (производительностью) КС. Обмены с внешними носителями данных происходят по инициативе программного комплекса КС. Быстродействие внешних носителей данных может накладывать ограничения на достижимый уровень требований реального времени к комплексу программно-аппаратных средств КС. 2.3. Взаимодействие с объектами физической сферы. Заметим, что для объектов информационной сферы не свойственно (по крайней мере, не характерно) строго периодическое следование однотипных запросов к КС. Для таких объектов более характерно ограничение на минимальную величину временного интервала между двумя однотипными запросами а также ограничение времени реакции системы на поступивший запрос. Строго периодическое следование однотипных запросов более характерно для взаимодействия КС с процессами физической сферы (силовыми процессами). Такое взаимодействие осуществляются через специализированную аппаратуру. При посредстве специализированной аппаратуры данные, выводимые из КС (управляющие воздействия), обеспечивают требуемые изменения значений физических параметров управляемых процессов (положение инструмента, скорости вращения двигателей, мощность регулируемых источников излучения и т.п.). Для ввода информации о состоянии объектов физической сферы используется специализированная измерительная аппаратура (датчики контролируемых физических величин). Поэтому информационные связи КС с процессами физической сферы уместно называть аппаратно-ориентированными связями. В табл.2 приведены примеры значений периодов следования запросов различных типов для направления аппаратно-ориентированных информационных обменов системы управления промышленными роботами. Система управления промышленными роботами реализует многие десятки периодических функций. Как следует из табл.2, частоты выполнения этих функций могут различаться в тысячи раз. Таблица 2. Периодичность выполнения некоторых функций системы управления промышленными роботами
Во многих прикладных областях, таких как транспортные, производственные системы, робототехника, связь, авиационная и космическая техника программные комплексы для систем реального времени могут содержать сотни и тысячи интенсивно взаимодействующих программных объектов с исходным кодом, состоящим из десятков и сотен тысяч строк. Успешная разработка, сопровождение и развитие таких больших и сложных программных систем невозможны без четкой и целесообразной концепции их структурной организации. Удачный выбор такой концепции способствует упорядочению процесса разработок, повышению эффективности конструирования, улучшению обозримости формируемых структурных решений, повышению уровня преемственности, использования накопленных заделов при создании новых вариантов систем. 2.4. Принцип дуальности. Определение концепции структурной организации комплекса прикладных программ стоит в ряду ключевых проблем по созданию сложных программных систем. Для каждой конкретной предметной области, каждого конкретного проекта, конкретных условий разработки выбор концепции структурирования является самостоятельной задачей. Тем не менее, существует ряд общих принципов, утвердившихся с самых ранних этапов развития технологии программирования, оправданных десятилетиями разработок программных систем различных классов, типов и назначения – это, например, такие принципы, как принцип модульности, принцип иерархического расслоения сложных комплексов прикладных программ. Для систем реального времени (и, в первую очередь, для их аппаратно-ориентированных подсистем) к таким принципам относится принцип дуальности. Принцип дуальности структуры системы внешних процессов и структуры взаимодействующего с ними программного приложения является одним из продуктивных принципов формирования архитектуры комплексов прикладных программ для КС реального времени. Если во внешней среде протекает ряд самостоятельных процессов, связанных с КС, то внутри самой КС каждому из таких внешних процессов должна быть сопоставлена некая структурная компонента. Эволюция этой компоненты должна адекватно отражать эволюцию внешнего процесса и обеспечивать адекватное целям и ситуации поведение КС. Если между объектами во внешней среде имеются какие-либо отношения, затрагивающие цели функционирования СРВ, то эти отношения должны отражаться и в структуре комплекса прикладных программных средств в виде отношений между соответствующими программными компонентами. Следование принципу дуальности означает признание того факта, что структура комплекса прикладных программных средств СРВ должна являться преломленным отражением структуры процессов во внешней среде. Функционирование КС реального времени должно быть организовано таким образом, чтобы выполнение каждой из прикладных функций КС было надлежащим образом скоординировано с протеканием соответствующих ей процессов во внешней среде и с выполнением других прикладных функций. Одно из проявлений принципа дуальности состоит в том, что если программное приложение контролирует некоторое множество параллельно развивающихся внешних процессов, то и само программное приложение должно строиться в виде множества соответствующих параллельно исполняющихся компонент программного комплекса. Подобные программные компоненты будем называют задачами. Таким образом, в соответствии с принципом дуальности, программные приложения реального времени должны строиться в виде многозадачных программных комплексов. Состав задач, особенности организации взаимосвязей задач отражают состав множества контролируемых внешних процессов и взаимозависимости между этими процессами. 2.5. Встроенные системы. В общем случае СРВ может быть не связана пространственно и механически с контролируемыми ею объектами. Но большинство СРВ относятся к классу встроенных систем, т.е., оформляются как неотъемлемые элементы конструкций автоматизированных узлов, приборов, машин – наличие жесткой конструктивной связи с теми физическими объектами, в интересах которых они функционируют, для встроенных систем является определяющим. Встроенная СРВ в пространственном, временном и функциональном отношении теснейшим образом связана с процессами, реализуемыми тем оборудованием, в составе которого она работает. Отсюда возникают специфические требования к свойствам соответствующих аппаратных и программных средств, к технологии создания соответствующих программных систем. Аппаратная база встроенных систем опирается на использование микроконтроллеров – микросхем с универсальными процессорами, во многом аналогичными процессорам СРВ, строящимся на базе компьютеров общего назначения (персональных компьютеров, ноутбуков, рабочих станций). Специфика микроконтроллера, ориентированного на функционирование в рамках встроенной СРВ, состоит в том, что на одном кристалле наряду с универсальным процессором, постоянной и оперативной памятью интегрируется ряд периферийных устройств, обеспечивающих информационную связь встроенной СРВ с автоматизируемым оборудованием. Встроенные СРВ широко применяются в самых различных областях – в оборудовании автоматизированных производств, в коммуникационных системах, на транспорте, в быту. Автоматизированное производственное оборудование – станки, манипуляторы, склады и транспортирующие тележки, управляются встроенными СРВ. Встроенными СРВ обеспечивается работа устройств мобильной связи, ими оснащаются различные системы автомобилей – двигатели, трансмиссия, система подвески, тормозная система, кузовная электроника (стеклоподъемники, стеклоочистители, кондиционеры, электрооборудование). В бытовых приборах от микроволновых печей до утюгов и кофемолок все шире применяются микроконтроллеры. Считается, что в промышленно развитых странах дома и на работе человека окружают десятки встроенных СРВ, несколько микроконтроллеров человек может, выходя из дома, нести на себе – пейджеры, сотовые телефоны, электронные записные книжки, брелоки автомобильной сигнализации. Программные приложения для встроенных СРВ должны отвечать общим требованиям к программным приложениям для СРВ. Вместе с тем, специфические условия функционирования встроенных КС приводят к появлению дополнительных требований к их аппаратным и программным компонентам: · автономность по обслуживанию, · эффективность использования аппаратных ресурсов, · повышенная отказоустойчивость, · автономность по питанию. Повышенная отказоустойчивость необходима при использовании встроенных КС в тех областях, где от надежности функционирования КС может зависеть жизнь и здоровье людей (например, транспортные и медицинские системы), сохранность и дееспособность дорогостоящих объектов (например, космические и оборонные системы). Для таких систем могут предъявляться требования вероятности безотказной работы в течение года не менее чем 99.999 процентов. Автономность по обслуживанию означает, в частности, необходимость включения в состав системы механизмов самодиагностики и восстановления работоспособности системы после сбоев. Требование автономности по питанию приводит к необходимости экономного расходования энергии. Это может означать, что КС должна обходиться лишь минимально необходимым составом аппаратных ресурсов – в первую очередь ресурсов энергозависимой памяти и производительности процессоров. Должна быть предусмотрена возможность отключения питания тех ресурсов, которые временно не используются системой. 2.6. Целевые и инструментальные средства. При создании программных комплексов для встроенных систем особенно выпукло проявляются различия между инструментальными и целевыми средствами компьютерных технологий. Целевыми называют программные и аппаратные средства компьютерной системы, работающие в составе этой системы и непосредственно обеспечивающие достижение целей, возлагаемых на данную КС. Как отмечалось выше, базу целевых аппаратных средств для встроенных разновидностей СРВ составляют микроконтроллеры. Целевые комплексы программных средств для встроенных систем выполняются процессорами этих микроконтроллеров. Инструментальными называют программные и аппаратные средства (на базе персональных компьютеров или рабочих станций), которые обеспечивают разработку встроенных систем (в частности, разработку комплексов программных средств для этих систем). Специфика программирования встроенных систем состоит в том, что инструментальные компьютерные системы принципиально отличаются от целевых. При разработке систем общего назначения ситуация в большинстве случаев принципиально иная - программные комплексы разрабатываются на тех же компьютерах (и под управлением тех же ОС), на которых им предстоит выполняться. В порядке подготовки целевой программы к работе в системе реального времени выполняются следующие этапы ее преобразований: * компиляция исходных текстов программных модулей в объектный код; * сборка исполнимого файла; * загрузка исполнимого кода в СРВ. Первые два этапа выполняются средствами инструментальной системы с использованием кросс-транслятора. На третьем этапе происходит размещение исполнимого кода в памяти целевой машины. В случае встроенных систем исполнимый код размещается в энергонезависимой памяти, что обеспечивает возможность ре-инициализации работы системы после сбоя питания. Третий этап может выполняться, например, с участием инструментальной системы, программатора энергонезависимой памяти целевой машины и связывающего их коммуникационного канала. Контрольные вопросы. 1. В чем состоят ключевые различия между внешними по отношению к КС объектами информационной сферы и физической сферы. 2. В чем выражаются требования привязки функций СРВ к ходу физического времени? 3. Какие диапазоны уровней срочности характерны для различных функций взаимодействия КС с обслуживающим персоналом? 4. Какие диапазоны уровней срочности характерны для различных функций взаимодействия КС с объектами физической сферы? 5. Как особенности требований ко встроенным компьютерным системам влияют на требования к соответствующим комплексам программных средств? 6. Как формулируется принцип дуальности в отношении архитектуры программных комплексов для СРВ? 7. Как в случае встроенных систем проявляются различия между целевыми и инструментальными средствами компьютерных технологий?
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |