Подписаться  на наше издание быстро и дешевле чем где-либо Вы можете прямо сейчас! Подписаться! 

 

 

Каждая альтернативная ОС, способная "отразить сопротивление" Майкрософт и Linux, — это, безусловно, явление. А если эта система "отправляет в отставку" такую популярную в свое время систему, как PalmOS, то ее просто невозможно оставить без внимания.

 

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


Эпоха EPOC


Собственно, EPOC и значит "эпоха" в сложном сокращении британских маркетологов. Эта операционная система была разработана в конце восьмидесятых исключительно для портативных устройств Psion. Одно время эти устройства более напоминали калькуляторы: программирующиеся TI, Casio или наши Б3-34. Кстати, первые PDA от Psion работали от одной батарейки типа "Крона" до девяти месяцев (думается, подобная живучесть сделала бы хитовым любой современный мини-компьютер). Сначала PDA Psion программировались на POPL – это классический вариант "польского" стекового процессора, как и в Б3.


Со временем Psion сделал продукт, больше похожий на современный субноут, – MC 400. Вообще-то он предназначался для VIP-категории пользователей и стоил около 800 фунтов. Несмотря на это, юнит работал не совсем хорошо. Версия MC 600 под влиянием глюков MC 400 вообще была приспособлена как микроноут для MS DOS, поскольку у EPOC были сложности со встроенным языком программирования OPL.


Впрочем, скоро вышли новые версии и языка, и ОС, которые были встроены в Psion Series 3, так что все более-менее стабилизировалось. Вот тогда-то и появился еще не совсем Symbian, а SIBO, то есть SIxteen-Bit Organizer. У Psion 5 появилась 32-битная система, так что ее называли уже не SIBO, а EPOC/32. Постепенно весь софт стал 32-разрядным, и в конце девяностых Psion Software приспособили Symbian Version 1, которую поставили на обновленный Psion 5. В 1997 году вышли версии 2 и 3, которые были по своей сути всего лишь багфиксами. Также появились привычные инструменты для интернета, такие как браузер и почтовый клиент.


Настоящим "моментом истины" стал выход в 1999 году смартфона Sony Ericsson R380: в пятую (на тот момент) версию Symbian OS уже была встроена первая версия мобильной Java-машины. Именно эта компания, а не Nokia, как считают многие, впервые "рискнула" сотрудничать с Psion Software с целью прошивки полноценной операционной системы в миниатюрные мобильные терминалы. Успех данной модели вызвал интерес у производителей мобильных телефонов к более продвинутому firmware.


Стало ясно и другое: многомиллионный мобайл-рынок не сопоставим с мощностью группы энтузиастов из Psion Software – в июне 1998 года мощные вливания со стороны Nokia, Ericsson и Motorola превратили хакерскую лабораторию в Symbian Ltd. Компания, впрочем, осталась на своем месте, в Британии, а не в Калифорнии: британская, шведская и японская лаборатории остались главными производственными площадками. Сейчас, как это принято, что-то делает индийский аутсорсинг и, конечно, американский отдел продаж – компания, можно сказать, современная и по сути, и по форме. 


В настоящее время Symbian используется в 54-х моделях смартфонов высшей ценовой категории семи производителей. Еще 50 новых моделей находятся в стадии разработки. Вообще продано 39 миллионов трубок для Symbian, и только 14,5 миллионов из них – за 2005 год.


Основные принципы


Для начала надо сказать, что эта система предназначена специально для маленьких и ограниченных в ресурсах систем. Как следствие, в ней нет ничего такого, чем клиент не будет пользоваться. Конечно, виртуальная память и прочие технологии тоже могут когда-то пригодиться, но Ericsson, являющийся, кстати, "колыбелью" UML и экстремального программирования, так не думает. "Когда понадобится, тогда и сделаем, а технически мы давно готовы", – так говорят шведские разработчики.


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


Еще один специфический момент заключается в том, что мобилка занимает промежуточное место между миксером и DVD-плеером. Фактически, это бытовая техника, так что пользователь не обязан ничего знать о загрузке программ и т.д. Вместе с тем – и это свойство становится все более важным – операционная система должна допускать значительное вмешательство продвинутых пользователей. Есть особая категория потребителей, в маркетинге называемая "энтузиастами", которые лучше всякой рекламы рекламируют новые технологии, и эти пользователи должны получить то, что они ищут, то есть среду, открытую для настройки и перепрограммирования.


Важно отметить, что версии Symbian не являются "прогрессом" в обычном смысле слова: каждая версия поддерживает определенный тип устройств и определенные функции, так что вы никогда не захотите обновлять версию Symbian на отдельно взятом устройстве. Более поздняя версия может иметь меньше возможностей на каком-то устройстве, а более старая – иметь более свежие багфиксы.


Устройства и версии


Еще раз повторимся: версии Symbian не являются взаимозаменяемыми, каждое устройство рассчитано на работу с определенной версией, для чего соответствующий ROM включает нужные драйверы. Драйвер создается для конкретной модели, и если Symbian 9 не планируют устанавливать на это устройство, то и его образ не будет сгенерирован соответственно.

 


В результате многие только планируемые к выпуску устройства по-прежнему ориентируются на версии 7 и 8, а, например, Nokia N-Gage вообще не собирается "уходить" с Symbian 6. Вообще, в средней ценовой категории Nokia традиционно склоняется к этой версии, поскольку для нее разработан специальный пользовательский интерфейс, который получил название Nokia Series 60 UI. Siemens тоже использует эту версию: в варианте 6.0 – для стандартных устройств и в варианте 6.1 – для "отягощенных" мультимедийными возможностями коммуникаторов. 


Другие компании, не связанные с Series 60 UI и использующие универсальный интерфейс UIQ, в частности Sony-Ericsson, более предпочтительной считают версию 7, где, собственно, и появился новый пользовательский интерфейс. Motorola и Panasonic также склоняются к этой версии.


В свою очередь, восьмая версия, по-видимому, является "проходной": по сути, все возможности девятой версии были заявлены в пресс-релизах восьмой, в частности, поддержка не только телефонов, но и PDA в широком диапазоне. Symbian 9.0 также был, что называется, фальстартом: широкое распространение и долгая жизнь предположительно будет у версии 9.1.


Девятая версия пока замечена только в кругу "очень платиновых" партнеров Symbian, а именно Nokia и Sony-Ericsson. И дело тут не только в больших деньгах: эти компании практически формируют софт Symbian для своих конкретных маркетинговых программ, для своих устройств, чипов,  приложений и так далее. Первыми дорогими, но широко распространенными устройствами с Symbian 9.1, станут Nokia E60, E61, E70, N71, N80, N91 и N92. Флагман Sony-Ericsson P990 также будет работать под новой версией, хотя младшие собратья, P900/910, используют v7.0. Это еще раз подтверждает, что v8 создана для каких-то специальных целей Nokia в серии 668х: не для кого не секрет, что ядро v9 переписано практически с нуля с целью "прояснить" API, и многие исторические участки кода были безжалостно удалены. Кроме того, раз v9 насквозь "пропитана" вопросами безопасности, вероятно, на то были серьезные причины.


Ready-Go


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


Речь не идет о создании, например, встроенного медиа-плеера, о чем так трубит реклама: эта задача по силам второкурснику КПИ. Главное – наличие открытой и ответственной разработки: если доступен, скажем, Eclipse, то его и нужно использовать, чтобы разработчики не включались в многотысячные "игры" с Code Warrior или Visual Studio. Уважение интересов заказчиков и потребителей – вот что такое Symbian, и это играет огромную роль при выборе этой системы ведущими компаниями. Открытый "кому надо" код является прекрасным примером разумного использования открытого кода в коммерческих целях.


Важно, что создатели хотят сделать (и делают) систему лучше, а популярность и прибыль в данном случае – только результат проделанной работы, ведь что же может работать лучше, если Symbian делается на деньги и по заказу самих покупателей и пользователей? Вот такая вот шведская логика: не сначала делать, а потом думать, как продать, а думать, когда делаешь, и отдыхать, когда продаешь.


Возможно, не все сразу кинутся программировать под Symbian, но если у вас под руками смартфон, то почему бы и нет.

 

Архитектура системы Symbian глазами программиста


Можно многое рассказывать о структуре самой ОС, но лучше всего рассмотреть процесс создания приложений, который сам по себе уже о многом говорит. Программирование Symbian не очень отличается, скажем, от программирования PalmOS: традиционным инструментом для такого программирования являлся Code Warrior от Metaworks. В последнее время,  однако, в качестве официального инструмента был выбран открытый проект Eclipse. Поскольку эта среда написана с использованием Java, то Java вам тоже обязательно понадобится. Также возможна разработка приложений и с помощью MS Visual Studio.


Программирование возможно на C++, Java или OPL. Самый нижний уровень – это уровень бинарного кодирования с помощью C++. Для этого вам понадобится SODK, то есть Symbian OS Development Kit, включающий в себя почти весь исходный код самой операционной системы (кроме криптографических алгоритмов и сетевых стеков, а также исходных кодов Java KVM, которые Symbian не имеет права распространять), а также исходники третьих компаний (драйверы, кодеки и так далее), необходимые для компиляции.


Также в этот SDK входит внутренний технический тулкит Techview вместе с исходным кодом, Symbian Development Library и утилиты, предназначенные для построения окончательного ROM-образа. Сборка загружаемого образа – это просто бальзам на душу тех, кто с тревогой наблюдает за распространением модулей в Linux и даже BSD: образ Symbian включает в себя абсолютно все системное ПО. Сам SODK официально доступен только "платиновым" партнерам, как, например, Nokia. Фактически, вы заинтересованы в этом уровне программирования только в том случае, если создаете новый тип мобильного терминала. Обратите внимание, что данный ROM будет корректно работать только на однотипных устройствах, поэтому не очень предусмотрительно включать прикладные приложения в само ядро.


Второй уровень также предполагает бинарный интерфейс доступа с помощью C++, но не требует исходных текстов системы для встраивания в ядро. В его состав по-прежнему входят Techview, компиляторы и инструменты сборки ROM. Это называется Binary Access Kit, BAK. Этот уровень предусмотрен для провайдеров мобильной связи, которые намерены "прошить" в ОС какие-то специфичные функции и сервисы, а также для гигантских корпораций, "перепрошивающих" тысячи телефонов собственными приложениями. Так сказать, штатная возможность апгрейда ОС внешними модулями. Этот уровень не привязан к конкретной модели или серии телефона, поскольку все вызовы изолированы от "железа" протоколом системных вызовов API. Также, поскольку с помощью BAK код системы и секреты аппаратной части не разглашаются, BAK доступен значительно большему количеству партнеров.


Поверх DevKit или BAK (разница только в доступности исходного кода для отладки, и DevKit, разумеется, предпочтительней) строятся Symbian Middleware и System Libraries. К этой категории, например, относятся различные мультимедийные кодеки, обобщенные библиотеки PIM и так далее. Все сервисы middleware разделены на несколько классов (или frameworks): Multimedia, Telephony Server, Communictions Server, Open Font, IP Hooks, PC Connectivity (Data Sync), Messaging и так далее. Все эти сервисы в различной мере "уходят корнями" в ядро системы, так что не следует относиться к ним как к совершенно независимым библиотекам.


Некоторые сервисы, например, Messaging, основаны на технологии плагинов (MTM, Message Type Modules), так что вам не обязательно обращаться к ядру для добавления какого-то нового типа сообщений, например, ICQ, или нового кодека в модуль Multimedia. Однако надо иметь в виду, что часто та или иная функция сильно связана с аппаратной частью.


Например, шифрование, декодирование MP3, прием FM-радио или захват видеопотока с цифровой камеры производится отдельным чипами, так что создавая новый драйвер, вы будете серьезно "задействованы" на системном уровне. Правда, уровень Media Device Framework создает возможность модульного подключения таких драйверов с сокрытием подробностей под уровнем MM Framework. Не стоит забывать, что мы говорим о программировании новых драйверов, графических фильтров и медиа-кодеков, так что воспроизведение медиа или использование PIM-сервисов не требует ни наличия, ни даже знания DevKit.


Итак, вся система Symbian очень хорошо спланирована – на каждом уровне пользователю и разработчику доступны только "полезные" для него свойства. Для программирования на уровне прикладных приложений можно использовать на выбор C++, Java либо OPL. В последнее время выпущена версия .NET для Symbian, но пока популярность SymboNET – скорее, область фантазий.


Естественно, то, что вам понадобится для разработки, самым серьезным образом зависит от того, какой язык вы выберете для разработки. Предположительно – Java SDK (как минимум), а также какая-то из сред разработки, вроде Code Warrior или Visual Studio.

 

В статье использованы материалы http://iXBT.com и www.symbian.com

2006.08.30
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".