Как все начиналось
Стыковка с аппаратурой
Взгляд на программу
Что приложено к ОС
Будущее Windows CE



Страница Microsoft Windows CE
http://www.microsoft.com/windowsce/hpc

Программное и аппаратное обеспечение независимых производителей
http://www.microsoft.com/windowsce/hpc/thirdparty

Информация для разработчиков
http://www.microsoft.com/windowsce/developer/default.htm

Документация и меморандумы по Windows CE
http://www.microsoft.com/windowsce/developer/technical/default.htm

Rawn Shah. On the bumpy road to Windows CE. NC World, январь 1998.
http://www.ncworldmag.com/ncworld/ncw-01-1998/ncw-01-wince.html

Операционная система Windows CE - первый осторожный шаг Microsoft в сторону рынка карманных компьютеров; ее появление там привлекло внимание других фирм к этой быстро растущей области. Microsoft миниатюризировала среду Windows, сжала популярные прикладные пакеты и обеспечила их совместимость с рядом процессоров (поразительно, но факт: первоначально Windows CE не поддерживала процессоры Intel).

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

Таким образом, Microsoft способствует внедрению в некомпьютерную сферу "сетецентрической" модели вычислений. Windows CE будет работать на миниатюрных устройствах с минимумом интеллекта, простым или сложным микропроцессором, ограниченным объемом памяти и крохотными прикладными программами.

Одновременно с продвижением новой ОС Microsoft встраивает прикладные программы непосредственно в устройства. Предполагается, что когда-нибудь на них станет возможно также загружать программы, поэтому в Windows CE включается версия Java.

Как все начиналось

В 1994 г. Microsoft вела разработку PDA-устройства под названием WinPad. Оно должно было составить конкуренцию устройству Newton компании Apple, популярность которого тогда быстро росла. Когда же проявились неприятные проблемы с самим Newton, специалисты Microsoft проанализировали свою разработку и определили, что операционная система и прикладные программы для WinPad требуют слишком много оперативной памяти, так что реализация устройства не может окупиться. Отсюда был сделан вывод, что рынок и потребители просто-напросто еще не готовы к широкомасштабному выпуску PDA.

Кроме того, в Microsoft намечались планы по созданию Internet-приставок и "минимальных" компьютеров для дома, носивших название SIPC (Simply Interactive PC - просто интерактивный ПК). Последние предполагалось выпустить одновременно с моделью аппаратной архитектуры PC 97, чтобы поставщики аппаратного обеспечения сразу получили соответствующую операционную систему. Однако разработка Internet-приставки и ОС для нее - проект Mimosa (MMOSA - Multimedia Operating System Architecture, архитектура мультимедийной ОС) - была тогда законсервирована, а проект SIPC распался на несколько других, результатом одного из которых стал NetPC.

Впоследствии интерес к карманным компьютерам возобновился, и руководство Microsoft приняло решение "оживить" разработку ОС для PDA. Так возник проект Pegasus, целью которого было создание облегченного варианта ОС Windows, ориентированного на растущий рынок карманных устройств. Проект базировался на прежних разработках для WinPad и еще одном проекте, называвшемся Pulsar.

Для управления работами в новой области в Microsoft был создан отдел потребительских платформ (Consumer Platforms division), занимавшийся бытовыми вычислительными устройствами, отличающимися от персонального компьютера. Интерфейс и даже некоторые функциональные особенности Pegasus должны были быть такими же, как в Windows 95. В систему планировалось включить такие прикладные программы, как Word, Excel, PowerPoint и Internet Explorer.

Но Pegasus, в отличие от многих других ставших популярными ОС для карманных компьютеров, не имел распознавания рукописных букв, поскольку существующее ПО для распознавания считалось слишком несовершенным. Электронным пером можно было указывать и выбирать, но не писать.

Со временем проект вырос в систему Windows CE, которую на осенней выставке Comdex'96 с гордостью демонстрировали на своих устройствах такие компании, как Compaq, HP, Hitachi, Casio и NEC.

Стыковка с аппаратурой

В ноябре 1996 г. аппаратное обеспечение, на котором могла работать Windows CE, должно было удовлетворять достаточно жестким требованиям: монохромный сенсорный экран с максимальным разрешением 480Ё480, не менее 2 Мбайт памяти для нужд ОС и прикладных программ. А набор программ, поставлявшийся с устройством, размещался в ПЗУ и занимал в нем около 4 Мбайт.

Кроме того, были необходимы последовательный порт и инфракрасный порт для внешних коммуникаций, а также для синхронизации с программным обеспечением и данными на обычных ПК; клавиатура (все команды вводились с нее) и, наконец, как минимум один разъем PCMCIA для модемов и других устройств.

В спецификациях Windows CE 2.0, выпущенных в сентябре 1997 г., некоторые требования к аппаратуре изменились. Стали допустимы цвета TrueColor и разрешение экрана до 800Ё600, встроенные модемы (ранее - только модемы на PC-картах), переключение питания с литиевых батареек (того типа, что используется в наручных часах) на электросеть (через внешний выпрямитель).

"Освоение" системой различных типов процессоров происходило в следующем порядке. Первой появилась версия для устройств с 64-разрядным RISC-процессором NEC/MIPS VR-4101 (семью месяцами позже - также для устройств с NEC/ MIPS VR-4300) и RISC-процессором Hitachi SuperH SH-3. Вскоре к семейству поддерживаемых процессоров присоединилась микросхема Ultra Low-Power 486SX корпорации Intel с кодовым названием Hummingbird, а затем - ARM 7500 компании ARM, одного из главных поставщиков процессоров для карманных компьютеров. Компания Motorola объявила о том, что Windows CE работает на ее карманных устройствах с процессорами PowerPC MPC 821 и 823. Таким образом CE стала первой версией Windows, способной выполняться на процессорах трех разных типов (до того пальму первенства держала Windows NT, которая работала на процессорах Intel, Digital и одно время на MIPS).

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

Взгляд на программу

Несомненно, Windows CE представляет собой новаторское направление в развитии Windows-систем. Применимо ли к ней утверждение о том, что яблоко от яблони недалеко падает? Попробуем разобраться. Windows CE предназначена для PDA и карманных устройств - соответствующая область рынка обозначается в Microsoft термином Handheld/PC (H/PC) - и, вопреки распространенному убеждению, ее ядро в корне отлично от ядер Windows 95 и NT.

В настоящее время вся операционная система помещается приблизительно в 200 Кбайт памяти. В качестве файловой системы используется FAT16, хотя файлы и не хранятся на жестком диске. Как и в Windows 95 и NT, реализована вытесняющая многозадачность (процессы и потоки).

Обеспечена поддержка примерно половины (относительно Windows NT и 95) традиционного программного интерфейса Win32, но Win32 - это наименьший общий знаменатель программирования для Windows. Стандартно программисты пользуются библиотекой классов MFC (Microsoft Foundation Classes), содержащeй высокоуровневые абстракции большей части Win32.

В Windows CE поддерживается урезанный вариант библиотеки MFC. Наиболее крупная "недостача" наблюдается, по сравнению с Windows NT и 95, в системе управления драйверами устройств: CE содержит лишь минимум классов, поскольку устройств, которыми требуется управлять, здесь намного меньше (например, нет ни жестких дисков, ни плат с интерфейсом PCI). Тем не менее реализована поддержка некоторых синхронных и асинхронных API-вызовов устройств и программных прерываний.

Кроме того, в Windows CE присутствуют некоторые элементы API, которых нет в Windows NT/95, и в первую очередь функции работы с сенсорным экраном (touch-screen API). Кроме того, имеется API специального уведомления (special notification API), на который возложена обработка жизненно важных сообщений - например, от системного таймера и системы управления электропитанием.

Система виртуальной памяти, перенесенная из Windows NT/95, поддерживает 32-разрядное адресное пространство: всего адресуется около 4 Гбайт памяти, размер одной страницы памяти - от 1 до 4 Кбайт. Разумеется, у нынешних устройств с Windows CE - как, впрочем, и у большинства существующих рабочих станций и серверов - физический объем оперативной памяти намного меньше. Механизм виртуальной памяти служит только для разделения адресных пространств программ.

Прикладные программы, поставляемые вместе с системой, хранятся в программируемом ПЗУ. Физически доступная память разделяется на две области, именуемые Storage (хранилище) и Program (программа). Для области Storage система создает в памяти виртуальный диск, резервируя немного места для нужд программ.

В сравнении со многими другими операционными системами для карманных устройств Windows CE обладает исключительно развитыми коммуникационными возможностями. Она поддерживает версию 4.0 стандарта NDIS (Network Device Interface Specification - спецификации интерфейса сетевых устройств), работает с последовательными и инфракрасным портом, а также с аналоговыми модемами, поверх всех этих интерфейсов поддерживает TCP/IP и Winsock. В систему включены драйверы протоколов PPP и SLIP, клиент RAS (Remote Access Service), механизм удаленного доступа к файлам (WNET API) и телефонный API (TAPI).

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

Что приложено к ОС

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

К системе прилагаются Pocket Word, Excel, PowerPoint, Internet Explorer и Outlook (почтовый клиент, календарь, адресная книжка и база текущих дел). Тем самым обеспечиваются (хотя и в не столь сложном и перегруженном инструментами варианте) большинство функций, предоставляемых Microsoft Office для настольного компьютера. Прикладные программы из Windows CE могут читать и записывать файлы в форматах соответствующих компонентов Office.

В новой версии Windows CE появились также Internet Explorer и Java (конечно, чтобы с ними работать, необходимо подключить устройство к Internet).

При увеличении объема оперативной памяти (или ПЗУ) до 16 Мбайт (что почти эквивалентно ПК), в Windows CE становится возможным запаковать и другие программы. Например, к устройству Mobilon фирмы Sharp может быть дополнительно приложена цифровая камера, включаемая в разъем PCMCIA.

Будущее Windows CE

То, что Microsoft поддержала индустрию карманных устройств, оказало значительное влияние на рынок. Аналитическая фирма IDC предсказывала, что в 1997 г. этот рынок увеличится более чем на 70% и будет продано около 4 млн. устройств. Такие компании, как Psion и ARM, ранее занимавшие лидирующее положение, были оттеснены поставщиками, ориентирующимися на Windows CE. Однако CE первой принесла на рынок карманных компьютеров некоторый (хотя бы и спорный) фактический стандарт.

Что действительно интересно, так это наблюдающееся сейчас движение Windows CE в сторону мини- и ультра-мини-блокнотов. Поставщики начинают выпускать с CE карманные устройства, размер которых несколько больше стандартного (6Ё3 дюйма), постепенно приближаясь к габаритам небольших блокнотных компьютеров.

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

Система CE достаточно компактна для того, чтобы с минимальным набором прикладных программ умещаться менее чем в 2 Мбайт памяти, обеспечивая при этом большинство необходимых функций. И хотя она произведена Microsoft, это в высшей степени открытая ОС, совместимая с самыми разными моделями карманных компьютеров.

Благодаря своей архитектуре CE способна работать в режиме реального времени, что недостижимо в Windows 95 и NT. Это открывает путь к ее применению для сбора высокоточных данных. Данные с успехом размещаются в оперативной памяти (эта возможность, вопреки распространенному заблуждению, есть и у сетевых компьютеров).

Главная проблема с Windows CE состоит в том, что ее продолжают рассматривать просто как усеченную версию Windows и соответствующим образом разрабатывают прикладные программы. Если бы Microsoft откорректировала подсистему Java (и добавила модуль беспроводной связи), машину с CE без особого труда удалось бы превратить в мобильный сетевой компьютер.

К сожалению, почти никто (или просто никто) из поставщиков не рассматривает подобную возможность. Вместо этого предпринимаются попытки превратить CE в ОС для блокнотных компьютеров. В таком подходе есть свои плюсы и минусы, но в любом случае возникает вопрос: зачем внедрять CE в нишу, уже занятую другими ОС? По-видимому, сама Microsoft поддерживает эту инициативу, а значит, Windows CE может в будущем оказаться загромождена множеством дополнительных функций, которые в действительности ей не нужны (и возможно, затормозят продвижение системы).

Что произойдет, в точности определить нельзя, но есть основания полагать, что CE вскоре начнет появляться на нетрадиционных вычислительных устройствах. Это кошмарная мысль. Как бы ни хотели представители Microsoft убедить нас, что нам крайне необходим тостер с Windows CE, мы совершенно уверены: тостер - последнее место, где CE нам понадобится. n
 


Роун Шах - директор отдела исследований и разработок фирмы ATMnet Inc., поставщика интегрированных коммуникационных служб, ATM-технологий и доступа к Internet. E-mail: rawn.shah@ncworldmag.com.