Кажется, совсем недавно мой дед говорил мне: "Как здорово было бы, если бы твой прадед мог видеть цветной телевизор..." И вот теперь уже я жалею, что мой дед не видит современных чудес техники, таких, как мобильные телефоны и карманные компьютеры. Не за горами время, когда мы будем воспринимать персональные компьютеры, вроде тех, что стоят сегодня на наших рабочих местах, так же, как воспринимаем сейчас Корвет в углу кабинета информатики. Шутка ли, если даже элемент практически любого фантастического фильма - видеообщение по карманному устройству - уже не более фантастичен, чем компостер с электроблокировкой. Все чаще на выставках высоких технологий в Минске демонстрируются реализации технологических решений для передачи видеоинформации в реальном времени по мобильному телефону и все чаще ведутся разговоры операторов мобильной связи о возможном их внедрении в широкое применение в будущем. А ведь даже я помню, как все начиналось. В мгновение ока мобильные телефоны захлестнули мировой рынок как колония мигрирующих леммингов. Это породило целую индустрию по производству различных шнурков, фенечек, чехлов, карманов, панелек, data-кабелей, программ и других прибамбасов к мобильным телефонам, а также в виде огромного числа магазинчиков по продаже, ремонту и обслуживанию мобильников дало хлеб большому числу людей. Победоносно пройдя по земному шару как мобильные телефоны в чистом виде, они стали изменяться и изменять. На наших глазах мобильники эволюционируют и вбирают в себя лучшее, до чего дошел человеческий гений сегодня. Компьютерные же устройства, в свою очередь, изменяются и движутся навстречу им, как часто замечают, говоря о смартфонах и коммуникаторах, что они идут к одной цели, но разными путями. В этом можно убедиться, если определить, что такое смартфон и что такое коммуникатор, и откуда они происходят. В общем случае смартфон - это умный мобильный телефон, ну может быть еще с более развитым интерфейсом. Неотъемлемой частью смартфона является операционная система, дающая ему значительную гибкость при персонализации, в сравнении с мобильным телефоном. Коммуникатор - это, по сути, тот же КПК, только еще и со встроенным GSM/GPRS модулем. Соответственно, звонить и принимать звонки удобнее по смартфону, а коммуникатор идеально подходит для "прыжков" по web-страницам, просмотра электронной почты и документов.
В этой статье я хотел бы не просто описать Symbian ОС, а показать на примере операционных систем, чем программное обеспечение для мобильных устройств отличается от оного для ПК. Это будет очень показательно, ведь именно в среде операционной системы выполняются пользовательские приложения, а, как известно, в здоровом теле здоровый дух. Конечно, никто не может гарантировать, что программное обеспечение будет полностью без ошибок, но качественная операционная система способствует созданию более мощных и надежных приложений.
Первым камнем преткновения для разработчиков операционной системы под смарты и коммуникаторы является размер. Думаю, всем понятно, что даже с сегодняшним уровнем технологий трудно впихнуть целый компьютер в маленький мобильник. К тому же статическая память, используемая в качестве постоянного запоминающего устройства, весьма дорога. Экономия оперативной памяти достигается за счет эффективной системы управления памятью, которая предотвращает утечку драгоценных байтов. Системные компоненты выгружаются из памяти, как только становятся ненужными, ведь тут уже не махнешь рукой: "Ай, пускай "висит" до перезагрузки", тем более, что перезагрузки может и не быть. Эффективная инфраструктура отслеживания ошибок предотвращает переполнение памяти. Другим способом экономии ресурсов памяти является миниатюризация ядра системы, в первую очередь, и остальных компонентов, в частности, т.е. оптимизация на этапе программирования. При этом активно используются принципы вторичного использования кода и объектно-ориентированного программирования.
Если ваш мобильник выступает как ежедневник, и вы с его помощью выполняете звонки и обмениваетесь данными, то вы ожидаете, что все эти функции будут доступны для вас все время, где бы вы не находились. Смартфон должен быть способен выполнять операции на протяжении многих часов на одном заряде батареи. Это требует продуманного управления режимом электропитания. Система, которая никогда не выключается полностью и не может быть перезагружена, должна использовать ресурсы по мере надобности. Необходимо, чтобы приложения и системные модули, размещенные в памяти, использовали минимум энергии, а неиспользуемые немедленно выгружались.
Третьим аспектом, здорово затрудняющим жизнь программистам, является большое разнообразие мобильных устройств. Существует противоречие между производителями ПО, которые хотят разрабатывать приложения для одной популярной платформы, и производителями мобильных устройств, которые хотят иметь большой диапазон дифференцированных инновационных продуктов. Смартфоны поставляются в разных формах - от традиционного дизайна с клавиатурой до tablet форм фактора с большим экраном и маленькой клавиатурой. На разный механизм ввода и форм-фактор сильно влияет на первичное предназначение устройства. Устройства с очень маленьким дисплеем и клавиатурой обычно используются для голосового сообщения. Устройства с сенсорным дисплеем удобны для быстрого доступа, но не для ввода данных. Клавиатура, соответственно, более практична для ввода больших объемов информации. Эти различия предполагают, что пользовательский интерфейс зависит от конкретного устройства. Symbian ОС решает эту проблему грациозно и непринужденно. Разработчики отделили пользовательский интерфейс от ядра и подготовили несколько отличающихся интерфейсов. Наиболее популярный из них - это Series 60, а также на слуху UIQ и Series 80.
И, наконец, надежность - главное требование рынка мобильных устройств. Потеря информации в персональном мобильном устройстве, будь то смартфон или коммуникатор, неизбежно приведет к потере доверия пользователя к производителю. Поэтому оно должно быть, по крайней мере, таким же надежным, как бумажные ежедневники. Мобильник никогда не должен "зависать", а программное обеспечение не должно повреждаться при внезапном выключении или во время другого сбоя. Фактически, устройство может никогда не быть выключено полностью или перезагружено, т.к. должно вовремя активировать будильник и принимать входящие звонки. Операционная система не может позволить себе долго загружаться при включении мобильника. В идеале она должна восстанавливать рабочее состояние почти мгновенно, и Symbian это удается: прототип Symbian ОС - EPOC 32 загружается не более секунды.
Так чем же она хороша?
Symbian отнюдь не новичок на рынке операционных систем для мобильных устройств. Ее даже можно назвать законодателем мод, ведь первым в истории смартфоном Nokia 7650 "рулила" именно Symbian ОС. Как я уже говорил, прототипом Symbian ОС была операционная система EPOC (производитель - Psion PLC), первоначально создаваемая для КПК. Т.е. это не урезанная версия настольной ОС, а именно операционная система для мобильных устройств. Сегодня Symbian ОС - это современная 32-разрядная многозадачная многопоточная операционная система реального времени с поддержкой ARM-процессоров последнего поколения и дисплеев с различными разрешениями.
Неоспоримое лидерство Symbian ОС в некоторой степени объясняется правильной стратегией разработчиков. Они сделали свой продукт открытой платформой, и это приводит к появлению тысячи разработчиков и партнеров, имеющих доступ к исходному коду и обеспечивающих открытость и современность Symbian ОС. Производители телефонов участвуют в разработке ПО и создают большие организации, расширяя операционную систему. Да и сама Symbian - это объединение компаний-акционеров: Nokia, Siemens, Samsung, Ericsson, Sony Ericsson и Panasonic. Symbian имеет доверенных партнеров среди лидирующих на рынке мобильных телефонов и принимает активное участие в основных организациях.
Множество удачных решений Symbian упоминается ниже, еще одним из них является взгляд в будущее. Чтобы обеспечить плавный переход к новым стандартам (таким, как третье поколение WCDMA и его эволюции), сетевые стеки абстрагированы т.о., чтобы для приложения не имело значения, стек какого протокола используется. ОС обеспечивает мощный API, что позволяет приложениям в полной мере использовать преимущества возможностей связи и быть легко адаптированными для использования преимуществ новых протоколов. Также развитый API обеспечивает создание приложений независимыми разработчиками ПО, партнерами и обладателями лицензии Symbian. Традиционные стандарты, такие, как Юникод, для интернационализации, POSIX API, и Java воспринимаются как должное, но для ОС, занимающей лидирующее место в мире связи и обмена информацией, открытые стандарты также должны поддерживаться. Т.о. Symbian привержена им и активно работает с восходящими стандартами, такими, как J2ME, Bluetooth, MMS, SyncML, IPv6 и WCDMA.
Несмотря на то, что Symbian ОС отличается выдающейся стабильностью, при разработке программного обеспечения невозможно учесть все нюансы аппарата, что довольно часто приводит к нестабильной работе не только программы, но и всего устройства в целом. Переходя с телефона на смартфон, пользователи бывают неприятно удивлены периодическими сбоями в работе нового устройства. Однако тщательный подбор программного обеспечения начисто отметает и эту проблему. Кроме того, в отличие от мобильного телефона, смарт может выполнять несколько задач одновременно в режиме реального времени.
В заключение хочу сказать, что в работе устройств такого рода главным дестабилизирующим фактором является пользователь, т.е. человек. Например, зачитавшись на смартфоне книгой или увлекшись любимой игрой, можно оказаться вообще без связи. В любой ситуации есть место для ошибки.
Горячие темы