PalmOS 5 или зачем палму пятая ось


Проблема

Еще недавно Palm была несомненным лидером рынка наладонников в частности и PDA вообще, но ныне ситуация стремительно меняется. Причина — все растущая конкуренция со стороны платформы Pocket PC. Оставим пока в стороне почивший в других секторах рынка (а именно — промышленных PDA и нарождающемся классе смартфонов, например от Nokia) Symbian EPOC и его все еще популярные в той или иной мере, но уже безнадежно устаревшие монохромные воплощения от PSION. И обратим свой взгляд на громоздкие, тяжелые, живущие от батарей малое время устройства под управлением различных версий Windows CE (которую можно переименовывать как угодно, например Windows for Pocket PC или даже .NET, но суть от этого особенно не меняется). Что же мы видим?

1. Эти устройства перестали быть громоздкими — самые компактные модели приближаются по габаритам к устройствам для Palm OS от Sony. Такими темпами, недалеко и до конкуренции с оригинальными Palm 500-ой серии.

2. Масса устройств также существенно сократилась, типичная разница составляет всего несколько десятков грамм, скажем 120 у устройства Palm OS против 170 у Pocket PC.

3. Время работы по-прежнему является самым больным местом, но все же составляет вполне разумные для заряжаемого каждый день устройства 4-8 часов. В то же время цветные устройства Palm OS поглощают батареи за 6-12 часов работы, так что превосходство свое они сохраняют, но оно уже отнюдь не является подавляющим.

4. На руку PocketPC играет более высокое стандартное разрешение экрана и его прямоугольная форма, более приспособленная для чтения. Да, существуют модели Palm OS с разрешением 320х320, но это разрешение не является официальным для Palm OS 4.х, и его поддержка требует привлечения специальных модифицированных версий OS, например, от Sony. В результате множество программ его пока не поддерживают, кроме того, экран по-прежнему остается квадратным. Только две модели имеют неквадратный экран с активной областью граффити, но число работающих с таким экраном программ можно пересчитать по пальцам.

5. Широкие мультимедийные возможности Pocket PC сейчас Palm-у крыть нечем. Система не имеет какой-либо мультимедийной поддержки, любая работа со звуком осуществляется нестандартным образом и доступна лишь для малого числа моделей. В то же время, любой современный КПК Pocket PC способен воспроизводить записи в формате mp3 и работать как диктофон. С распространением же версий с Pocket PC 400 МГц нас ждет, видимо, и начало распространения проигрывания на них видеоклипов в форматах MPEG*. Учитывая невысокие цены на карточки памяти Compact Flash (менее $100 за 256 Мб) аудио- и видеозаписи на КПК не выглядят чем-то сверхъестественным.

6. Более высокий уровень игр для Pocket PC и использование в них звука и существенной производительности процессора.

7. Широкий спектр сетевых программ, наличие полноценного браузера поддерживающего большинство сетевых технологий свойственных большим ПК.

8. Возможность достаточно оперативного портирования кода Windows — автор статьи сам сталкивался с этим вопросом и был удивлен, насколько легко и быстро удалось перевести на КПК кодеки речи и видео, первоначально разработанные для настольной версии программного обеспечения для видеоконференций. В итоге, в комплекте с мобильным телефоном Pocket PC устройство превращается в видеофон.

Как мы видим, для Palm OS ситуация складывается неприятная. Что же она может противопоставить этим пунктам до сегодняшнего дня включительно:

1. Простота пользовательского интерфейса. Но и здесь враги не дремлют — каждая последующая версия Pocket PC становится все более интуитивно понятной, исчезают явные неудобства и промахи в UI.

2. Высокая скорость реакции на действия пользователя. С ростом МГц в Pocket PC это преимущество падает, но все еще очень заметно при повседневной работе в некоторых приложениях.

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

4. Компактные, прочные и, что самое главное, стильные металлические корпуса старших моделей

5. В полтора-два раза большее время работы цветных моделей (с периодически используемой подсветкой) и на порядок большее время работы монохромных.

6. Миниатюрный размер и маленький вес

7. Огромный багаж накопленного программного обеспечения

8. Более низкая цена. Впрочем, и этот пункт постепенно теряет актуальность— появились очень доступные Pocket PC с цветными экранами.

Что ж, если компания Palm не хочет потерять рынок (сейчас ситуация примерно равновесна, но изменения идут не в пользу Palm), ей необходимо принимать какие либо меры.

Решение

Итак, было принято решение о смене аппаратной платформы и разработке новой версии операционной системы — Palm OS 5.

Аппаратная платформа

Смена платформы необходима ввиду медленного и неудовлетворительного развития процессоров Motorola Dragon Ball, на которых ранее базировалась Palm OS. Фактически, не среагировавшая вовремя Motorola потеряла клиента, ибо все, что она может предложить сейчас - это 66-мегагерцовый процессор с различными интегрированными контроллерами! Достаточно старая программная архитектура Dragon Ball (32 бита, но 16 битная шина данных) только усугубляют дело. Этого уже явно недостаточно — нужны частоты порядка 100 или 200 МГц, и полноценный 32-хбитный многозадачный процессор. Разработчики Palm остановились на ARM — очень удачной и популярной RISC -архитектуре, разработанной первоначально для настольных рабочих станций, но постепенно завоевавшей сильные позиции именно на рынке мобильных и встраиваемых решений. Эта же архитектура, а точнее, ее надмножество от Intel используется во всех современных Pocket PC. Давайте посмотрим на плюсы этого решения:

1. Высокие тактовые частоты и производительность, хорошо масштабируемая 32-бит RISC архитектура

2. Выбор процессоров, совместимых с ARM от различных производителей

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

4. Недорогие варианты процессоров с интегрированными контроллерами периферии «все в одном»

И на минусы:

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

2. Несовместимость со старым программным обеспечением

Ага! Вот второй пункт способен доставить немало головной боли. Решений два —либо установка второго процессора (возможно, размещенного на том же кристалле, что и основной), совместимого с Dragon Ball, для выполнения старых приложений, либо программная эмуляция Dragon Ball. Судя по всему, будет выбран второй вариант. Сама по себе технология эмуляции достаточно развита, в том числе, есть и очень скоростные алгоритмы, преобразующие (транслирующие) код перед тем, как выполнить его. Но все они сопряжены с дополнительными расходами памяти и теми или иными побочными затратами. Кроме того, подобные эмуляторы плохо справляются с самомодифицирующемся кодом, на основе которого могут быть сделаны те или иные защиты от несанкционированного копирования старых приложений Palm OS. Говорят, что процессор ARM 200 МГц справляется с эмуляцией Dragon Ball вполне эффективно (на уровне современных 33 МГц моделей), посмотрим, как будет обстоять дело на практике.

В пользу эмуляции говорит и тот факт, что типичные неигровые приложения большую часть времени проводят в коде OS, ожидая тех или иных действий пользователя или работая с пользовательским интерфейсом. Разумеется, вся OS будет переписана под новый процессор, и здесь никакая эмуляция не потребуется — в отличие от Apple, где во время во многом аналогичной смены платформы (опять Motrola подвела :-)) поначалу было переделано только ядро системы и самые важные подсистемы, а уже затем, от версии к версии, постепенно избавлялись от старого кода.

Кроме того, есть информация, что аппаратные решения для Palm OS 5 будут базироваться на так называемом OMAP-наборе от TI (Texas Instruments), содержащем, кроме ядра ARM RISC, еще и ядро DSP, призванное освободить основной процессор от выполнения вычислительно емких мультимедиа-задач, таких как декодирование или кодирование мультимедийных данных или, как вариант, распознавание рукописного и голосового ввода.

Кроме того, набор снабжен интерфейсом экранного дигитайзера, контроллером цветного LCD-дисплея, USB- и последовательным интерфейсами, контроллерами карточек памяти типов CF, SD и MS, и другими интерфейсами. Есть необходимая поддержка и для беспроводных радиомодулей: Bluetooth и 802.11b

Программная платформа

Основные новшества системы — модульность и многозадачность. Т.е. появятся не только динамически линкуемые библиотеки (DLL). но и оформится, наконец, четкое понятие драйвера устройства. Многозадачность будет реализована только на уровне тредов (потоков команд), что, впрочем, вполне достаточно для КПК, где все программы живут в общем пространстве памяти. По-прежнему не будет файловой системы в понимании ПК или Pocket PC — все будет храниться, как и прежде, в базах в оперативной памяти. Файловые системы внешних накопителей, таких как карточки памяти, разумеется, будут поддерживаться с помощью специального API, вероятно, так же, как это сделано в Palm OS 4.

С точки зрения базового API, изменится не так уж и много. Большинство новшеств будут представлены в виде новых API без потери совместимости на уровне программного кода со старым. Т.е. теоретически адаптация программ будет крайне проста — - достаточно будет их перекомпилировать под новую платформу. На практике может встретится множество накладок связанных с портированием на новую архитектуру. Разрешение 320х320 наконец-то будет узаконено и поддержано на уровне базового API. Впрочем, к сожалению, речь пока идет только об этом разрешении — неквадратные экраны, видимо, по-прежнему не будут присутствовать в оригинальных моделях Palm и соответственно поддерживаться базовой Palm OS. В этом есть некая сермяжная правда — возможно что Palm старается вводить одно базовое разрешение для того, чтобы упростить разработку обеспечения и стандартизировать интерфейсы программ. (интересно, модульность системы позволит безболезненно адаптировать ее к нестандартным разрешениям или программистам Sony, как и ранее, придется иметь дело с исходным кодом системы, создавая собственные специальные версии?).

На сей раз поддержка работы со звуком будет стандартизирована. Доступна как оцифровка, так и воспроизведение произвольного PCM-потока (16 бит, стерео). Видимо, микрофон станет неотъемлемой частью новых моделей Palm. Еще не ясно, как будет обстоять дело со встроенным динамиком, но выход на наушники, разумеется, будет присутствовать. Существенно будут расширены сетевые и криптографические возможности и API новой системы. Поддержка беспроводных соединений (уже упомянутые Bluetooth и 802.11b) встроена в систему, там же находится API стойкой криптографии (RSA RC4 128 бит), более того, все критические данные в памяти будут храниться зашифрованными.

Уже сейчас на www.palm.com, в разделе для разработчиков, доступен для свободного скачивания эмулятор Palm OS 5, интересный, в первую очередь, как это ни удивительно, этим самым разработчикам — стандартный набор программ в нем не особенно изменился, да и судя по всему основные сюрпризы в этом плане будут нас ждать с появлением первых моделей на базе Palm OS 5 в продаже.

Итак, подведем итоги

1. Осень подарит нам новую аппаратно-программную платформу PalmOS 5

2. Смена платформы станет решающим событием для Palm — либо они остановят процесс потери рынка, либо будут окончательно сметены с оного новыми волнами Pocket PC с одной стороны и смартфонов - с другой.

3. Новые, в первую очередь, мультимедийные возможности вполне могут повлечь за собой не только новые удовольствия для пользователей, но и необоснованное ожирение и сокращение времени работы будущих КПК от Palm. В результате которого Palm рискует досрочно сравнять их габариты и вес с Pocket PC, потеряв тем самым свое главное преимущество.

Что ж? в скором времени мы увидим, во что выльется вся эта «революция надежды», а пока нам остается только пожелать Palm влезть на елку (точнее на архитектуру ARM и мультимедийные возможности) не уколов зада (не прибавив в весе и размере).

PS На IDF Fall 2002 в San Jose стало известно, что на рынке появятся устройства на базе процессоров Intel XScale под управлением PalmOS 5!

Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.