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

Александр И. Шайхразеев, начальник сектора по разработке программного обеспечения, ОАО "ПНППК"

Александр И. Шайхразеев, работает начальником сектора по разработке программного обеспечения системы мониторинга распределенных объектов в ОАО "ПНППК". В прошлом специализировался на разработке программного обеспечения для встроенных систем в ОАО "Морион".



15.09.2009

Наверняка Линус Торвальдс в 1991 году не предполагал, насколько популярным окажется его детище. Разработанное для процессоров Intel ядро вскоре было перенесено на другие архитектуры.

Первоначально ядро было перенесено на платформы, близкие к платформе PC. Это высокопроизводительные рабочие станции на Sun Ultra SPARC процессорах и персональные компьютеры и серверы на Motorola PowerPC.

Позднее, с появлением на рынке мобильных устройств на высокопроизводительных 32-разрядных процессорах ARM, MIPS, появились первые проекты по переносу ядра Linux на данные архитектуры. Так как это было бесплатное и открытое ядро, то многие компании, работающие на рынке мобильных устройств, обратили внимание на данное ядро. При содействии производителей процессоров, в свободный компилятор GNU GCC была добавлена поддержка популярных мобильных процессоров.

Требования к ядру при мобильном применении возросли, так как требуется высокая отказоустойчивость, поддержка нестандартного для PC оборудования и малый объем дорогостоящей памяти. В настоящее время трудно поверить, что еще в 2000 году flash-память объемом 16 МБ считалась роскошью. И редкое мобильное устройство с операционной системой обладало объемом ОЗУ более 32 МБ. Ядро Linux оказалось достаточно компактным, чтобы работать на таких устройствах.

На тот момент на мобильных устройствах использовались операционные системы Symbian, Microsoft Windows CE и Palm OS, а также простые ОС, разработанные производителем мобильных устройств. Новый игрок в лице Linux был встречен с долей скепсиса и осторожности, так как к тому моменту его доля на рынке рабочих станций стала расширяться.

Примерно в 2002 году на российском рынке появилось первое мобильное устройство на основе встроенного Linux – карманный компьютер от Sharp.

Sharp Zaurus

Данный карманный компьютер, Zaurus SL-5000D, стал первым массовым мобильным устройством, которое использовало встроенный Linux с ядром версии 2.4 (Embedix) и новым графическим интерфейсом для мобильных устройств на основе облегченной версии X11 и разработанных компанией Trolltech графических компонентов – среда Opie.

Технически устройство представляло собой КПК со стандартным сенсорным экраном разрешением 320x240 и QWERTY-клавиатурой, которая открывалась при сдвиге нижней части корпуса устройства.

Устройство могло воспроизводить звук в формате MP3 и видео. К сожалению, функция записи звука не была реализована.

Для работы со звуком использовался OSS, так как ALSA была в разработке.

В комплекте с устройством поставлялся набор приложений, схожий со стандартным набором приложений KDE: почтовый клиент, органайзер, простой текстовый редактор, Web-броузер и набор простых игр.

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

Однако этот пример стал показательным для всех производителей мобильных устройств. Стало ясно, что Linux может применяться и на мобильных устройствах.

В настоящее время разработкой данной платформы занимается сообщество OpenZaurus. И, хотя популярность этого устройства давно прошла, не стоит его забывать.

На волне энтузиазма, порожденного Sharp Zaurus, стали возникать независимые проекты по созданию операционной системы для мобильных устройств. Наиболее популярным из них оказался проект Handhelds.org, который должен был решить задачу переноса Linux на устройства производства HP.


Handhelds.org

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

В качестве основы использовалось все то же ядро Linux 2.4 и графический интерфейс на основе X11 и Opie. Немного позднее стал доступен еще и GPE, интерфейс на основе GTK.

В составе GPE поставлялся все тот же набор приложений: календарь, контакты и список задач.

Данный интерфейс немного проигрывал интерфейсу Opie, который был отработан на Sharp Zaurus и продолжал активно развиваться.

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

В настоящее время проект прекратил активное развитие. Но на смену ему пришли новые проекты, которые используют наработки, полученные в ходе этих первых проектов.

В ходе первых проектов в ядро была добавлена поддержка ряда процессоров и SOC архитектуры ARM, что облегчило современным проектам работу с данными процессорами. Были разработаны различные утилиты и патчи к ядру, файловая система для flash-устройств JFFS (Journaled Flash Filesystem) и система сборки образов файловой системы для мобильных устройств.


Busybox.net

Данное сообщество занимается разработкой минимальной среды окружения и утилит для создания встроенной системы на основе ядра Linux.

Система строится на основе базовых библиотек и мини-приложений, называемых апплетами. Каждый апплет представляет собой отдельную утилиту базовой среды операционной системы Linux, например такую, как echo или ls. Базовые библиотеки данной системы обеспечивают функции создания процессов, демонов и ряд системных функций.

Для взаимодействия с пользователем используется минимальный Shell, который и обеспечивает вызов соответствующих апплетов.

Предоставляемые средой сервисы:

  • Командный интерпретатор;
  • Работа с файловой системой: ls, mkdir, chown и другие;
  • Сетевые сервисы: telnet/telnetd, tftp/tftpd, ftp, httpd, ping, dhcp, ifconfig и другие;
  • Утилиты: сжатие, работа с текстом (vi), шифрование, работа с модулями ядра, скрипты и печать, системный журнал и selinux.

Разработанная сообществом библиотека приложений (апплетов) может быть легко дополнена другими апплетами. Интерфейс апплетов очень прост и описан в документации на библиотеку.


Buildroot.net

Данный проект сконцентрирован на удобстве сборки встроенного Linux. Они предоставляют набор файлов проектов сборки (Makefile), которые облегчают сборку встроенного Linux для целевой аппаратной платформы.

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

Вам останется только загрузить полученные образы в разрабатываемое вами мобильное устройство.


uClib.org

Данный проект ориентируется на создание «обезжиренной» библиотеки C, которая позволит сэкономить объем памяти, требуемый для хранения самой библиотеки на целевой файловой системе.

Применение данной библиотеки позволяет сэкономить примерно 50% памяти в сравнении с использованием «полновесной» библиотеки GNU libc.

Кроме того, проект разрабатывает патчи для компилятора GNU GCC, которые позволяют использовать его совместно с данной библиотекой.

В дополнение, у данного проекта есть ветка развития «обезжиренной» библиотеки C++ - http://cxx.uclibc.org/ (EN).


CodeSourcery

Эта компания занимается разработкой компиляторов для архитектур ARM, MIPS под операционные системы Linux и Symbian, а также универсальных компиляторов для других ОСРВ (операционная система реального времени).

Для некоммерческого использования вы можете скачать собранный ими компилятор (Sourcery G++ Lite) и даже исходные коды, из которых был собран компилятор. Проекты, такие как Maemo, Android и OpenMoko используют компиляторы данной компании для сборки своих проектов.

Кроме этого компания предлагает и другие средства разработки, такие как интегрированная среда на основе Eclipse и CDT с поддержкой отладчиков JTAG и эмулятором.


Android

Данная платформа долгое время разрабатывалась компанией Google и была представлена общественности в 2008 году. Одновременно с этим ряд компаний заявили о поддержке данной платформы и скором выпуске изделий с использованием Google Android.

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

Любой производитель оборудования может подключиться к этому проекту, став его участником, и разработать собственное мобильное устройство на платформе.

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

Среди компаний, поддерживающих данную платформу, есть такие компании, как Motorolla, HTC, T-Mobile, nVidia, Texas Instruments, ARM, Samsung, LG, SonyEricsson и другие. Полный список компаний, входящих в альянс устройств на основе открытой платформы, находится здесь.

Первые устройства на данной платформе появились недавно, первым стал T-Mobile G1.

Устройство управляется с помощью сенсорного экрана и нескольких управляющих кнопок в нижней части устройства. Для ввода текста используется миниатюрная QWERTY-клавиатура, которая становится доступной, когда вы сдвигаете экран. Наличие клавиатуры обусловлено тем, что в текущей версии платформы экранная клавиатура не реализована.

Тем не менее, устройство может полноценно конкурировать с Apple iPhone и другими смартфонами, так как обладает развитым программным обеспечением для работы с контактами, заметками, электронной почтой и Интернет, навигацией и картами.

Аналитики предсказывают платформе Android господство на рынке мобильных устройств в 2012 году, когда она сможет потеснить Apple iPhone. Это станет возможным благодаря открытости платформы.


Maemo

Данный проект берет свое начало в недрах компании Nokia, которая занялась доработкой ядра Linux для применения его в своих мобильных компьютерах Nokia N810 Internet Tablet.

Ядро Linux, применяемое Nokia, является переработанным ядром и не соответствует основной линии развития ядра Linux. Но при этом происходят периодические заимствования из основной линии развития ядра. При именовании ядер от Nokia используется год выпуска.

Также, благодаря этому проекту и компании Nokia, в ядро Linux была добавлена новая файловая система для микросхем Flash-памяти – UBI (Unsorted Block Image).

Maemo.org (EN) – это сообщество, построенное вокруг платформы Maemo, которое занимается развитием данной платформы, разработкой свободного инструментария и приложений. На сайте сообщества вы можете найти интересные приложения для платформы, советы по разработке приложений и т.п.

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

В качестве графической среды проект использует оболочку, разработанную на основе GTK. Вероятно, произойдут изменения в графической подсистеме, так как компания Nokia недавно приобрела Trolltech, которая занимается разработкой графических компонентов для мобильных устройств и ПК. В частности, Opie – продукт для мобильных устройств и QT для персональных компьютеров.

У проекта большие перспективы, так как сейчас пользователи хотят немного больше, чем позволяет простой смартфон. Открытая платформа и современные технологии делают такие устройства популярными.


OpenMoko

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

На счету данной компании пока лишь два мобильных устройства – OpenMoko Neo FreeRunner и OpenMoko Neo 1973. Устройства имеют графический интерфейс на основе Opie или GTK (по вашему желанию), а в качестве устройства ввода используется сенсорный экран и кнопки в нижней части устройства.

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

Эта особенность делает устройство нацеленным на узкий рынок энтузиастов, которым интересно разрабатывать свой смартфон и сделать его уникальным и непохожим на другие.

Проект использует ядро из основной линии, просто добавляет в него необходимые драйверы и делает необходимые доработки, что приносит пользу всему сообществу разработчиков мобильных устройств на основе Linux. Автор лично пользовался некоторыми из них и выражает благодарность сообществу OpenMoko (EN).


Motorola

Известная во всем мире американская компания тоже занимается разработкой платформы для своих мобильных устройств. Как оказалось, компания уже давно использует ядро Linux в некоторых своих мобильных телефонах: Moto- Rokr E8, Rizr Z6, Razr2 V8, i876, U9. К сожалению, это проприетарная разработка, платформа MOTOMAGX. Кроме того, компания присоединилась к альянсу производителей устройств на открытой платформе Andriod, и в прессу просочились слухи о том, что компания готовит первый смартфон на основе платформы Google.

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

Наиболее популярным смартфоном Motorola на основе Linux сейчас является MOTOMING A1200. Аппарат с сенсорным экраном, в качестве устройства ввода текста используется экранная клавиатура. По отзывам пользователей, аппарат надежен, приятен в использовании, но, к сожалению, мало приложений, «родных» для смартфона. Основная масса приложений – это привычные всем владельцам мобильных телефонов Java ME-приложения.


Заключение

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

В настоящее время мы ограничимся только применением в мобильных устройствах, но это не единственное применение Linux вне персональных компьютеров. Если вы посетите сайт linuxdevices.com (EN), то найдете много статей о новых применениях ядра Linux в сфере встраиваемых систем. В нашей компании сейчас тоже ведется разработка изделия для промышленного применения на основе встраиваемого Linux.

В последующих статьях будут детально рассмотрены проекты и предлагаемые ими инструментарии для разработчиков.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


  • Bluemix

    Узнайте больше информации о платформе IBM Bluemix, создавайте приложения, используя готовые решения!

  • Библиотека документов

    Более трех тысяч статей, обзоров, руководств и других полезных материалов.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Мобильные приложения, Linux
ArticleID=428379
ArticleTitle=Linux Mobile: Введение
publish-date=09152009