Главная Пресс-центр Статьи и публикации Linux во встроенных системах: в чем же преимущества?, "Белая бумага"

Linux во встроенных системах: в чем же преимущества?, "Белая бумага"

Джерри Фиддлер (Jerry Fiddler), Wind River

Если бы удалось каким-либо образом разрешить проблемы с общедоступной лицензией General Public License (GPL), то, опираясь на Linux-сообщество в вопросах поддержки, производители устройств смогли бы снизить расходы на программное обеспечение на базе Linux. К сожалению, в настоящий момент это маловероятно. И причина здесь не в отсутствии заинтересованности или энтузиазма Linux-сообщества, а в отсутствии единой объединяющей платформы», сказал Джерри Фиддлер (Jerry Fiddler), председатель правления и соучредитель компании Wind River.

 

Введение

  За необыкновенно короткое время операционной системе Linux удалось возродить интерес к концепции «открытости исходных кодов» и оказать значительное влияние на стратегию развития некоторых крупнейших в мире производителей программного обеспечения. Несмотря на то, что компания Wind River (пока еще!) не входит в число этих гигантов, она является самым крупным поставщиком на одном из важных сегментов глобального рынка программного обеспечения, а потому тоже должна учитывать существование операционной системы Linux и программ с открытым исходным кодом. Наши заказчики производят миллионы и миллионы единиц «некомпьютерных» изделий, в которых для реализации предусмотренных функций используются микропроцессоры. Мы называем такие продукты «embedded devices» (устройства со встроенными системами, или встроенные системы), поскольку микропроцессоры, исполняющие наше программное обеспечение, встроены внутрь этих устройств. Эти устройства не считаются компьютерами, что и отличает наших заказчиков от производителей персональных компьютеров (ПК) и серверов. Если пользователи последних говорят о загрузке Windows, запуске программ и заполнении электронных таблиц, то пользователи встроенных систем об установлении телефонных соединений, управлении самолетом или удаленным роботом.

 
  Производителям телефонов, самолетов, роботов и многих других аналогичных продуктов, естественно, необходимо качественное программное обеспечение, на разработку и приобретение которого они ежегодно тратят ни один миллиард долларов. Причина, по которой они предпочитают покупать наши программы, заключается в том, что программные продукты и интегрированные платформы Wind River дают им возможность создавать и внедрять собственные разработки быстрее и с меньшими рисками и затратами. Именно в этом, по их словам, заключается наш вклад в их бизнес: важны не программы сами по себе, а «стартовый рывок», снижение расходов и уверенность в нашей поддержке. В результате они могут быстрее выводить на рынок свои изделия, часто с более высокими характеристиками при меньшей стоимости, и более эффективно их модернизировать.

 
  Наши клиенты изготовители приборов находятся в постоянном поиске новых возможностей и уже стали свидетелями того, насколько стремительно ОС Linux завоевала рынок сетевых серверов. Многие из них представляют собой крупные компании, информационные отделы которых либо испытывают, либо используют Linux в составе своих корпоративных сетей. Разработчики продуктов, выпускаемых этими фирмами, знают, что Linux для серверов распространяется бесплатно, что эта система отличается высоким уровнем поддержки и очень надежна. Они хотели бы знать, можно ли столь же успешно использовать ОС Linux в устройствах со встроенными системами (embedded devices). Подобные вопросы часто задают и в Wind River. Компания Wind River одна из учредительниц консорциума Embedded Linux Consortium, а также разработчик полной версии для Linux одного из её инструментальных пакетов. Поэтому, опираясь на опыт и результаты контактов с клиентами, хочется поделиться с читателями своими взглядами на ОС Linux и целесообразность ее применения во встроенных системах.

 

Linux программное обеспечение с открытым исходным кодом

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

 
  Строго говоря, Linux это ядро, созданное и развиваемое Линусом Торвальдсом (Linus Torvalds). Ядро же это не операционная система, как старательно разъясняют Торвальдс и другие. С архитектурной точки зрения ядро Linux похоже на ядро UNIX; оно включает в себя все базовые процессы и обработчики событий, позволяющие созданным на его основе промежуточным программных средствам и приложениям выполнять запланированные функции. Когда говорят о Linux как об операционной системе, как правило, имеются в виду пакеты, в состав которых входит ядро и множество других основных функциональных компонентов типа почтовых программ, серверов, протоколов TCP/IP и различных API-интерфейсов, позволяющих ядру обрабатывать информацию и обмениваться результатами. Следуя общераспространенному определению, я тоже буду использовать термин «Linux» для обозначения операционной системы с ядром Linux, в которую входят все основные API-интерфейсы и прикладные программы, ожидаемые и требуемые пользователями.

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

 

Достоинства программного обеспечения с открытым исходным кодом

  Программное обеспечение с открытым исходным кодом обладает следующими важными для разработчиков встроенных систем преимуществами (хотя бы на первый взгляд):

 
  Малые затраты на приобретение. Главное, чем программное обеспечение с открытым исходным кодом привлекает корпоративных пользователей, это свобода его приобретения. Операционную систему Linux можно, например, «скачать» из Интернета и вполне легально пользоваться ею, никому при этом ничего не платя. Эти два обстоятельства и позволяют говорить о программном обеспечении с открытым исходным кодом как о «свободно распространяемом и используемом», хотя эта свобода отнюдь не означает отсутствие каких-либо обязательств или ограничений. Программное обеспечение с открытым исходным кодом, как и другие программы, поставляется вместе с лицензией, и пользователи обязаны соблюдать лицензионные условия, как и в других случаях.

 
  Эта лицензия на большую часть современного программного обеспечения называется GPL общедоступная лицензия (от «General Public License»). Согласно ее положениям, если программист для написания собственного продукта воспользовался программным обеспечением с открытым исходным кодом, то он обязан таким же образом раскрыть исходный код своей разработки. Это кажется вполне очевидным и даже справедливым, но, как я покажу далее, мало выполнимым условием, когда речь заходит о коммерческих программных продуктах.

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

 
  Нематериальные выгоды. Программное обеспечение с открытым исходным кодом обладает целым рядом достоинств, не связанных напрямую с материальной выгодой, которые, тем не менее, могут иметь большую ценность для программиста лично, чем для организации, пользующейся этими программами. В частности, оно дает больше простора творчеству, чем программирование «закрытых» систем. У программиста возникает «чувство локтя», работы в команде, которое благодаря Интернету не зависит от государственных границ.

 

Достоинства Linux

  Операционная система Linux обладает всеми вышеописанными достоинствами ПО с открытым исходным кодом. Кроме того, в ее пользу говорит значительный успех в области серверов. ОС Linux настолько хорошо себя зарекомендовала, что ею заменяют операционные системы сетевых серверов таких широко известных и уважаемых компаний, как Sun Microsystems, IBM, Hewlett-Packard и Microsoft. Кроме малой стоимости приобретения и общественной поддержки, Linux отличается высокой производительностью, адаптируемостью к доминирующим коммуникационным стандартам и интерфейсам, а также высокой надежностью при использовании в ответственных корпоративных приложениях. Другими словами, Linux является вполне достойным технологическим конкурентом другим серверным операционным системам.

 
  Одним из свидетельств успеха Linux на рынке сетевых серверов может послужить то, что эта ОС уже используется в рекламных и маркетинговых целях, причем таким образом, какой вряд ли себе представляли сторонники открытости исходных кодов. Корпорация Oracle, например, в своей рекламной кампании (цель которой отвоевать часть рынка у своего основного конкурента, компании IBM) называет ОС Linux «неломаемой» (unbreakable). А дело в том, что у IBM есть операционная система, ориентированная на поддержку ее баз данных и прикладных программ. Oracle же, тоже предлагая системы управления базами данных и прикладные программы, своей операционной системы не имеет. Поэтому чтобы ликвидировать этот явный недостаток, Oracle рекламирует Linux как лучшую из всех операционных систем частности, систем IBM). Отметим, что в этом случае поставщик продвигает Linux не потому, что он дает определенные преимущества пользователям, а потому, что он повышает его конкурентоспособность.

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

 

Встроенные системы: добьется ли Linux успеха и в этой области?

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

 
  Архитектура аппаратных средств. Одной из основных тенденций развития серверных архитектур, направленных на снижение инвестиционных рисков, была и остаётся стандартизация аппаратных средств. Сегодняшние серверы отличаются крайне небольшим архитектурным разнообразием микросхем, выпускаемых компаниями IBM, HP, Sun и другими производителями серверов. Кроме того, весьма медленно развивается аппаратная архитектура сопутствующих схем, с естественной кооперацией между продавцами и покупателями, что обеспечивает стабильность и предсказуемость развития для корпоративных заказчиков.

 
  Рынок же встроенных систем поражает своим разнообразием. Специализация вот основной закон, диктующий появление различных микропроцессорных архитектур, «систем-на-кристалле» и программируемых FPGA-матриц. Специализация имеет первостепенное значение с точки зрения стоимости и функциональных возможностей. Чтобы преуспеть на рынке, каждый новый товар должен превосходить своих конкурентов и предшественников в цене, потреблении энергии, функциональных возможностях и физических размерах. Только у Wind River есть более 4000 клиентов участников борьбы за выживание. Трудно представить, чтобы компания General Motors участвовала в проектировании нового сервера для своей корпоративной сети, но для систем управления двигателем, тормозами и комфортом в салоне автомобиля компания активно требует от своих поставщиков более компактных, легких, быстродействующих, дешевых, экономичных встраиваемых систем, каждый год и при появлении каждой новой модели.

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

 
  Архитектурные задачи. Как правило, в корпоративных серверных сетях сравнительно много и дискового пространства, и вычислительных мощностей, так что стимула к сокращению возможностей операционной системы нет. Действительно, мысль собрать воедино все, что может понадобиться пользователям сервера, очень неплоха. Перед разработчиками же встроенных систем ставятся совсем другие задачи. Здесь вопрос не в том, не забыто ли что-нибудь  , а в том, от чего можно избавиться. Во встроенных системах просто недостаточно физического пространства, памяти или энергии, чтобы содержать то, что не является необходимым для данного устройства с данной ценой. ОС Linux прекрасно подошла для применения в серверах потому, что благодаря ее коллективному автору в ней не хватает разве что посудомоечной машины, а программисты всё продолжают создавать новые модули, компоненты и расширения ( «bloatware» «архитектурные излишества»). Рынок встроенных систем это совершенно иной мир, в котором добавление одной функции часто означает удаление другой или даже других.

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

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

 

Пригодна ли ОС Linux для применения во встроенных системах?

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

 
  Программное обеспечение не бесплатно. «Исходный код бесплатен лишь в случае, если ничего не стоит ваше время», эта фраза принадлежит Джеми Зовинскому (Jamie Zawinski), главному архитектору браузера Netscape, исходный код которого был, в конце концов, открыт. Другими словами, вы можете получить какой-то программный компонент бесплатно, однако за все, что вы с ним впоследствии делаете, придется, так или иначе, платить. Наши клиенты, конечно, знают, насколько высока может быть эта плата (составляющие которой приведены во врезке «Статьи расходов на разработку программного обеспечения»). Можно заметить, что большая часть этих расходов возникает уже после того, как организация фактически лицензировала это программное обеспечение. В число расходов входят затраты на интеграцию, разработку, тестирование, обучение, документирование, производство, сопровождение и модернизацию. Их размер может быть весьма существенен, что объясняет, почему, согласно отчетам наших клиентов, на программное обеспечение приходится большая часть тех десятков миллиардов долларов, которые ежегодно выделяются на исследовательские работы. Открытость исходных кодов не означает исчезновение этих статей расходов и на практике может даже приводить к их возрастанию. Так что единственные компании, которые пока что делают деньги на Linux, это компании, оказывающие услуги по ее поддержке. Прежде чем Red Hat купила Cygnus Solutions, лозунгом последней было: «Мы сделаем бесплатные программы вполне приемлемыми по цене».

 
  Возможны скрытые затраты. Кроме указанных явных затрат, владение Linux может означать и весьма значительные скрытые. Как уже говорилось, согласно положениям GPL-лицензии, программист, использующий ядро Linux в собственной разработке, должен сделать эту разработку и ее исходный код достоянием общественности. Другими словами, любая разработка, которая распространяется или публикуется, созданная на основе Программы или содержащая Программу (как целиком, так и любую ее часть), в соответствии с положениями настоящей Лицензии должна как единое целое бесплатно предоставляться всем третьим сторонам.

 
  Для производителей встроенных систем это требование влечет за собой целый ворох проблем, связанных с защитой интеллектуальной собственности. Из этого требования следует, что программное обеспечение устройства, содержащего «части» подпадающего под действие GPL-лицензии кода, должно «как единое целое бесплатно предоставляться» любому желающему. Это положение играет весьма важную роль для тех производителей, которые лицензируют все программное обеспечение своего устройства как единый пакет. (например, «ПЗУ в телефоне»). Если какая-либо часть этого программного обеспечения подпадает под действие GPL-лицензии, то, следовательно, все оно также должно стать объектом действия этой лицензии и быть передано в ведение сообщества сторонников открытости исходных кодов.

 
  В появившейся недавно статье под названием «Embedded Systems Programming» (Программирование встроенных систем) ее авторы Дэйвид Бил и Майкл Барр (David Beal and Michael Barr) называют эту потенциальную опасность вымышленной. Однако, насколько я понял, доказать свою правоту они не смогли. Они просто обошли все проблемы, связанные с «передачей как единого целого», и предположили, что GPL-лицензия не действует на новое патентуемое программное обеспечение, если производитель ничего не меняет в операционной системе Linux и лишь только пользуется ею как средством исполнения своих программ. Теоретически такой подход (принцип «параллельности») возможен, на практике же он труднореализуем. У производителей устройств чрезвычайно много различных причин для модификации Linux и ее интеграции с промежуточным или прикладным кодом, в частности, для расширения функциональных возможностей и повышения производительности. В результате конечный продукт обычно всегда содержит «часть» подпадающего под действие GPL-лицензии кода со всеми вытекающими отсюда последствиями.

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

 
  В свое время компания Wind River разработала версию инструментальной системы Tornado на базе Linux, потребовавшую определенной модификации операционной системы для применения во встроенных приложениях. Однако компания приняла решение не выпускать этот продукт, поскольку в результате наши клиенты могли оказаться в непредсказуемой «промежуточной» зоне. А наша задача, постоянно твердят они нам, создавать инструментарий, который поможет им упростить и ускорить разработку новой и более успешной интеллектуальной собственности. И как бы мы выглядели, если бы сказали: «Этот продукт великолепен, работает с Linux, но у вас при его использовании могут быть проблемы с защитой интеллектуальной собственности»?

 
  Может отсутствовать поддержка со стороны. Если бы проблемы с GPL удалось как-нибудь  разрешить, то производители устройств со встроенными системами были бы в состоянии снизить расходы на программное обеспечение на базе Linux благодаря поддержке Linux-сообщества. К сожалению, в настоящий момент это маловероятно. И причина здесь не в отсутствии заинтересованности или энтузиазма Linux-сообщества, а в отсутствии единой объединяющей платформы.

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

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

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

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

 
 
  • Работа в масштабе реального времени. Linux не является операционной системой реального времени, что немедленно создает определенные неудобства с технической точки зрения многим производителям устройств, в которых этот режим необходим. Чтобы ускорить реакцию системы, многие клиенты пользуются «Linux с ядром реального времени». Однако, как мы уже отмечали, Linux это уже ядро. Так что эти производители на практике пользуются некоторой гибридной формой программного обеспечения с открытым исходным кодом. Другие производители для повышения его быстродействия модифицируют ядро, хотя и за счет отказа от других достоинств Linux. Но как только вы начинаете модифицировать операционную систему (любую), вы тут же фактически берете на себя все обязанности и расходы по программированию и поддержке. Бесплатные программы становятся не такими уж и бесплатными, когда вы сами должны нести все расходы по их поддержке и сопровождению.
 
 
  • Эффективность. Разработчики встроенных систем превзошли самих себя в создании продуктов со все более широкими функциональными возможностями при все более ужесточающихся требованиях к размерам, весу, энергопотреблению и стоимости. Свой вклад в этот процесс вносят как производители полупроводниковых приборов, так и поставщики программного обеспечения. Если для работы сервера увеличение объема занимаемой памяти или небольшое снижение эффективности операционной системы не так уж и страшно, то в устройстве со встроенной системой эффективность операционной системы определяется типом используемого процессора, а объем устанавливаемой памяти непосредственно определяется размером прошиваемого ПО. Все это напрямую определяет стоимость, срок службы аккумулятора, функциональные возможности и, в конечном счете, конкурентоспособность устройства. Компания Wind River постоянно совершенствует свой основной продукт операционную систему VxWorks чтобы она меньшими силами решала больше задач. Не так давно один из наших партнеров производителей устройств беспроводной связи уже был готов использовать Linux в своих продуктах и почти приступил к разработке ПО для работы под Linux, пока не выяснил, что это ему обойдется в 2 мегабайта из общей памяти устройства. Такая же конфигурация программных средств на базе VxWorks требовала всего 250 килобайт. Этому партнеру для достижения запланированной цены и функциональных возможностей требовалось экономить память, в то время как «бесплатное» программное обеспечение обходилось слишком дорого с точки зрения использования памяти.
 
 
  • Время включения. Предполагается, что большинство устройств со встроенной системой должно реагировать на команды пользователя практически мгновенно. Для программистов, пишущих программы для персональных компьютеров или серверов, большим сюрпризом оказывается то, что, если встроенная система создана не на основе стандартной архитектуры Intel, добиться быстрой начальной загрузки Linux крайне тяжело. Создатели встроенных систем много работают над тем, чтобы решить вопросы инициализации, исполнения процедур самотестирования и загрузки в не-Intel-овских архитектурах, но Linux в этой области не предлагает никакой помощи.
 
 
  • Инструментальные средства. Насколько мы можем видеть, налицо серьезный недостаток инструментальных средств разработки встраиваемых систем на базе Linux. Разработка, тестирование и отладка программ для коммерческого рынка занимает слишком много времени, если у вас под рукой нет соответствующего инструментария, причем инструментальные средства, требуемые для разработки встраиваемых приложений (типа кросс-компиляторов, отладчиков и средств анализа в масштабе реального времени), в значительной степени отличаются от аналогичных средств для более традиционных рынков Linux-систем. Не так давно один из наших клиентов, компания, известная выдающимся дизайном своих продуктов, рассматривала вопрос применения Linux в устройствах беспроводной связи. Однако как только её специалисты осознали, что на разработку таких устройств с Linux может уйти практически год, они обратились к нам и в результате стали продавать свой продукт на рынке всего через четыре месяца.
 

Так что же делать производителю встроенных систем?

  Часть наших клиентов разработчиков устройств со встроенными системами анализируют все эти проблемы и обращается к нам с вопросами: «Как нам использовать что-нибудь  типа Linux, не теряя при этом тех выгод, которые мы получаем от контактов с вами?» Прежде всего мы у них спрашиваем, действительно ли они хотят получить «что-нибудь  типа Linux», а не сам Linux.

 
  Если режим реального времени не нужен, то лучшим решением будет или UNIX, или какая-нибудь UNIX-подобная операционная система. С технической точки зрения, ОС UNIX более развита, чем Linux; для неё разработано гораздо большее число коммерческих приложений. Тестирование поддерживаемой почти всеми поставщиками версии UNIX с названием FreeBSD обойдется производителю очень недорого. Производители со специфическими требованиями могут попробовать BSD/OS полностью поддерживаемую и предлагаемую компанией Wind River версию UNIX, поставляемую в комплекте со всеми необходимыми инструментальными средствами разработки и отличающуюся хорошо проработанным планом развития. Как BSD/OS, так и FreeBSD полностью свободны от всех связанных с GPL-лицензиями проблем защиты интеллектуальной собственности.

 
  Ответ на вторую часть вопроса заключается в том, что производители коммерческого программного обеспечения извлекают немало для себя полезного из модели открытости исходных кодов. Например, компания Wind River сейчас поставляет вместе с VxWorks гораздо больше исходных текстов, чем когда-либо  ранее, и, кроме того, мы предлагаем вместе с ней гораздо больше инструментальных средств. Идея заключается в том, чтобы предоставить пользователю часть преимуществ, присущих концепции разработки программных средств с открытым исходным кодом. Мы хотим сделать даже больше, разобравшись с вопросами защиты интеллектуальной собственности, проблемами соблюдения конфиденциальности и другими вопросами. Так что если Linux сама по себе и не является лучшим выбором для производителей встроенных систем, то поставщики этой операционной системы, тем не менее могут предложить немало полезного из практики работы с открытым исходным кодом.

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

 
  Источник: White Paper «Linux In Embedded System: Where Are The Benefits?», Wind River

22.04.2014