К вопросу о выборе операционных систем при построении систем реального вре



Скачать 93.08 Kb.
Pdf просмотр
Дата07.12.2016
Размер93.08 Kb.
Просмотров197
Скачиваний0

1
К вопросу о выборе операционных систем при построении систем реального вре- мени
А. Жданов, А. Латыев., ЗАО "РТСофт", Москва, "PCWeek", N 1, 2001
Итак, вы хотите построить аппаратно-программный комплекс, работающий в режиме реального времени, надежный и предсказуемый. Среди многих вопросов, на ко- торые Вам придется ответить, будет вопрос и о выборе операционной системы. Какими критериями пользоваться при ее выборе? Размышления о том, из чего можно выбирать, и рекомендации по выбору вы найдёте в данной статье.
1. Из чего же можно выбирать?
Среди современных операционных систем есть класс продуктов, называе- мых операционными системами реального времени и разработанных специально для по- строения систем жесткого реального времени - VxWorks, OS9, QNX, LynxOS, OSE и дру- гие. Эти системы содержат необходимый для достижения этой цели набор инструментов и в некоторых случаях являются единственным выбором - на него приходится идти, невзи- рая на затраты.
Однако достаточно часто требования к реальному времени (полная предска- зуемость времени реакции) допускают компромиссы. Иногда, например, необходимо до- биться только нужной средней производительности. Иногда достаточно жестко контроли- ровать только одно из событий, допуская при этом задержки реакций на остальные. В по- добных случаях возможности выбора расширяются и желаемых результатов можно дос- тичь, используя такие широко распространенные операционные системы как LINUX,
Windows NT, Windows CE, дополняя их расширениями реального времени (RTAI, RT
LINUX, RTX), и (или) используя глубокие знания системы и высокое искусство конкрет- ных специалистов.
2. Экономические критерии
Один из главных вопросов, интересующих российского пользователя, - стоимость. Стоимость чего? Казалось бы очевидно, что должна быть важна стоимость проекта в целом. Однако именно об этом чаще всего забывают и, экономя на частностях, увеличивают интегральную стоимость проекта. Одна из стандартных ошибок, например, заключается в том, что величина затрат на программное обеспечение сводится к затратам на покупку операционной системы. И механически выбирается наиболее дешевый из до- пустимых (иногда недопустимых) вариантов. Ниже приведены основные статьи затрат на программную часть проекта: стоимость операционной системы и средств разработки; стоимость разработки (включая затраты на освоение системы); стоимость дальнейших модификаций проекта;

2 стоимость лицензий; стоимость сопровождения; стоимость возможных рисков.
Эти затраты очевидны и известны. Тем не менее, хочу привести некоторые соображения о возможных "подводных камнях" при оценке стоимостей для разных опера- ционных систем.
Коммерческие операционные системы реального времени
Стоимость операционной системы и средств разработки. Недорогие системы этого класса стоят до $10k (OS9, QNX). Зато нередко можно встретить системы стоимо- стью порядка $20k (VxWorks). Но это - разовые затраты на полный набор средств разра- ботки. Они легко оправдываются при больших проектах или больших тиражах. Стоимость лицензий для этих систем быстро падает от $200-$1000 за единицу до $10-$50 при боль- ших количествах.
Стоимость разработки и отладки. Современные ОСРВ содержат достаточно развитые и комфортные специализированные средства отладки, что позволяет резко со- кратить время разработки, особенно при построении сложных систем реального времени, где требуется отладка нескольких взаимодействующих процессов.
Стоимость сопровождения, стоимость дальнейших модификаций, стоимость рисков. Для операционных систем реального времени эти параметры в общем случае ни- же, чем для других систем (LINUX, Windows NT). Причем разница тем больше, чем слож- нее система, чем жестче к ней требования. Причина проста - необходимые параметры сис- темы достигаются с помощью штатных средств, а не с помощью остроумных нестандарт- ных решений, которые могут оказаться неприменимы при небольшой модификации на- чальных условий. Что касается стоимости рисков, то она здесь также ниже, ввиду хоро- шей "обкатанности" систем, т.к. наиболее известные ОСРВ работают в миллионах копий по всему миру в системах разной сложности.
LINUX, RT LINUX, RTAI
Стоимость операционной системы и средств разработки. Стоимость носите- ля и его пересылки (не более $0-$100).
Стоимость разработки и отладки. В вашем распоряжении достаточно ком- фортные средства разработки и отладки. Однако специализированных средств отладки приложений реального времени здесь нет. И несмотря на то, что LINUX развивается очень быстро, появляются решения для встроенных систем и систем реального времени. Именно здесь при оценке стоимости разработки можно допустить существенную ошибку. Основ- ная причина в том, что пытаясь построить приложения реального времени, вы можете столкнуться с неожиданными проблемами (стоимость решения которых обычно не преду- сматривается). Например, может оказаться, что одна из базовых функций в расширениях

3 реального времени работает не так, как вы ожидали, нет документации, на вопросы, раз- мещенные в конференцию, никто не отвечает и вам приходится уходить в достаточно сложные и глубокие эксперименты в ситуации, когда уже поздно поворачивать назад.
Стоимость сопровождения, стоимость дальнейших модификаций, стоимость рисков. Стоимость сопровождения и модификаций может оказаться приемлемой. Однако сложно оценить возможные риски, даже после очень тщательного тестирования системы.
Пока еще LINUX не готов для создания приложений жесткого реального времени и в сложных системах сюрпризы вполне возможны.
Windows NT/2000/NTE/CE, RTX
Стоимость операционной системы и средств разработки. Она, естественно, ниже, чем для ОСРВ, однако полная закупка всех необходимых средств разработки заста- вит вас потратить около $3000. Что касается систем разработок для Windows CE или RTX, то они выводят вас в ценовой диапазон недорогих операционных систем реального време- ни.
Стоимость разработки и отладки. Выбор средств разработки и отладки здесь достаточно широк. Однако специализированные средства - для отладки и разработки сис- тем реального времени, драйверов, нужно закупать дополнительно. Вероятность столк- нуться с непредвиденными проблемами при использовании стандартных средств разра- ботки невелика, однако нужно отметить, что среда разработки Windows CE еще очень да- лека от совершенства и время на освоение системы велико.
Стоимость дальнейших модификаций проекта, стоимость сопровождения и стоимость рисков. Эта стоимость может оказаться велика в двух случаях, которые нужно пытаться предвидеть:
Вы пытаетесь использовать эти ОС в проектах, где этого делать нельзя
(сложные системы реального времени);
Ваш заказчик требует перехода на новую версию (например на Windows
2000 с Windows NT или на Windows CE 3.0 с Windows CE 2.12), и Вы увидели, что либо поведение системы изменилось, либо не все инструментальные средства третьих фирм, которые Вы использовали ранее, работают в новой версии.
Резюме по экономическим критериям
Постарайтесь правильно предсказать стоимость затрат по каждой из статей расходов на программный проект, учитывая при этом следующее: при разработке аппаратно-программного комплекса реального времени на- чальные затраты на покупку ОСРВ выше, однако интегральная стоимость проекта будет ниже для сложных систем высокой надежности и требованиями жесткого реального вре- мени;

4 не старайтесь взять все риски по проекту на себя, постарайтесь делегировать ответственность, а именно собираясь разрабатывать сложный комплекс реального време- ни, постарайтесь опираться на тех поставщиков компонентов (как аппаратных, так и про- граммных), которые способны обеспечить реальную техническую поддержку. Это сможет сэкономить средства в случае непредвиденных проблем. Зарезервируйте деньги на воз- можный договор о технической поддержке; если после изучения требований проекта вы пришли к выводу, что можете остановиться на операционной системе LINUX (RT LINUX, RTAI ), постарайтесь устано- вить кооперацию с компанией, способной консультировать вас при проектировании и способной оказать техническую поддержку, даже если программисты вашей компании уверяют, что они все сделают сами. Постарайтесь тем самым снизить риск больших по- терь в ситуации, когда Вы окажетесь лицом к лицу с неожиданной проблемой; делая мучительный выбор между дешевым и очень дешевым решением, по- смотрите, какова общая стоимость проекта (включая аппаратуру). Очень может быть, что
Вы ставите под угрозу весь проект, пытаясь сэкономить доли процента от его общей стоимости. стоимость труда программистов-разработчиков в ближайшее время сущест- венно вырастет.
3. Технические критерии
В этой главе мы остановимся на технических критериях выбора операцион- ной системы для построения систем реального времени. Отметим, что аппаратно- программный комплекс, к которому предъявляются требования реального времени, всегда требует конкретных расчетов. Поэтому к приводимым здесь оценкам и рекомендациям можно относиться только как к отправным точкам при размышлении о том, какую же сис- тему выбрать.
Как проектируется аппаратно-программный комплекс реального времени?
Вначале внимательно изучаются требования к объекту (автоматизации) и классифициру- ются события на этом объекте. Выделяются критические события, а именно те, реакция на которые в заранее запланированное время строго необходима (иначе возможны большие потери или разрушения системы). С каждым из событий связывается критическое время реакции на это событие. Затем прогнозируются худшие из возможных ситуаций на объек- те (возникновение одновременно нескольких критических событий, сбои питания, ошибки приложений и пр.), описываются требования к поведению системы в этих ситуациях. Цель такой экспертизы - найти ситуации, в которых к системе предъявляются наиболее жесткие требования. В результате такого анализа вы должны оценить следующие параметры сис- темы.
Время реакции системы на события, связанные с объектом. Операционные системы реального времени содержат механизмы, гарантирующие заранее вычисленное время реакции системы. Эта гарантия достигается знанием максимального времени бло- кировок прерываний в системе, времени переключения контекста, времен выполнения различных системных вызовов, применением нужных механизмов диспетчеризации и пр.
Т.е. время реакции на события для операционных систем реального времени можно вы- числить с большой точностью. Эти вычисления невозможны для операционных систем
LINUX и Windows NT - здесь можно полагаться только на результаты тестирования, эм- пирические оценки. Часто производительность компьютера подбирается таким образом,

5 чтобы успевать в нужные времена, но сути дела это не меняет, поэтому риски в сложных комплексах могут оказаться велики - при небольшом изменении внешних условий или при модификации приложений времена могут "поплыть". Что касается расширений ре- ального времени для LINUX и Windows NT, то здесь, по крайней мере, можно полагаться на времена, полученные при тестировании.
Какие операционные системы могут быть использованы при разных требо- ваниях к реактивности системы? В табл.1 приведены ориентировочные цифры, дающее представление о порядке времён реакции и более или менее подходящих операционных системах. Ими ни в коем случае нельзя пользоваться как строгими рекомендациями.
Возможность создания бездисковой конфигурации системы. По этому при- знаку подходят все рассматриваемые операционные системы, кроме Windows NT. Однако и для этого случая есть решение: Windows NT Embedded.
Время перезагрузки системы. Этот параметр кажется второстепенным, од- нако мы были свидетелями случаев, когда именно этот параметр целиком определил вы- бор дорогой операционной системы (время перезагрузки не должно было превышать 1 се- кунду). Этот параметр важен для систем, от которых требуется непрерывная работа; в этих случаях ставятся ловушки, отслеживающие зависание системы или приложений, и, если таковое произошло, автоматически перезагружающие систему (такие ловушки необ- ходимы в системах повышенной надежности, т.к от ошибок., по крайней мере, в приложе- ниях никто не застрахован). В таких случая важным является такое свойство системы, как ее живучесть при незапланированных перезагрузках. Большинство операционных систем реального времени устойчивы к перезагрузкам и могут быть прерваны и перезагружены в любое время.
Время загрузки для разных ОСРВ колеблется от секунды до нескольких де- сятков секунд. В большинстве систем (OS9, VxWorks) время загрузки можно регулиро- вать, изменяя стартовые последовательности.
В ОС LINUX время загрузки в стандартном варианте более минуты, система неустойчива к внезапным остановам - требуется стандартная процедура завершения рабо- ты с системой (shutdown). Однако LINUX достаточно гибок и можно создать конфигура-

6 ции системы, в которых время загрузки будет уменьшено до десятка секунд и система бу- дет устойчива к сбоям (использование специальной опции файловой системы).
В Windows NT время загрузки более минуты, система неустойчива к внезап- ным сбоям. Использование расширений реального времени (RTX) позволяет детектиро- вать зависания системы и выполнить в этих случаях необходимые операции по спасению данных и по выполнению каких-то страховочных действий.
Наличие необходимых инструментальных средств. Чем выше требования к инструментальным средствам, необходимым для создания системы (наличие специфиче- ских сетевых протоколов, баз данных, редких компиляторов), тем существенно выше шансы операционных систем LINUX и Windows NT и их расширений реального времени.
Наличие необходимых драйверов устройств. Если разрабатываемая система имеет обширную периферию, то наличие уже готовых драйверов может оказать большое влияние на выбор операционной системы. Естественно, самый большой набор драйверов создан для операционных системах LINUX и Windows NT. Наиболее популярные опера- ционные системы реального времени, такие как VxWorks, OS9, QNX, также имеют об- ширные наборы готовых драйверов и, кроме того, содержат средства для их быстрой раз- работки.
Несколько слов в заключение
Приведенные выше соображения могут помочь избежать ошибок в выборе операционной системы и избежать грубых ошибок в оценке стоимости.
Хотелось бы добавить еще одну важную практическую рекомендацию. Оце- нивая операционную систему, оценивайте и ее поставщиков. С технической точки зрения у Вас есть, как правило, выбор из нескольких систем. Среди них нужно выбрать ту, по- ставщик которой способен обеспечить глубокую техническую поддержку на время вы- полнения проекта или (если такого удастся найти) - на все время жизни вашей системы.

Каталог: student
student -> Методические указания по выполнению практических работ по дисциплине Английский язык
student -> Некоммерческое ао
student -> It certification and Academia V3 Стр.  Сертификация как и зачем?
student -> Современные технологии автоматизации научных исследований
student -> Методическая разработка внеклассного мероприятия по английскому языку «we are future doctors»
student -> Xen. Но в недрах системы скрыта другая, столь же продви- нутая технология, о которой вы наверняка уже слышали


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


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал