Программирование для карманных компьютеров - [4]

Шрифт
Интервал

Достаточно простая схема, отображающая архитектуру операционной системы, приведена на рис. 1.1.

Рис. 1.1. Схема архитектуры Windows Mobile для Pocket PC.

Расшифровка терминов, использованных в этой схеме, приведена в следующем списке.

OAL (OEM Adaptation Layer) – минимальное программное обеспечение, необходимое для того, чтобы стандартное ядро операционной системы начало взаимодействовать с устройством. Обычно OAL включает в себя код загрузки ядра и набор нестандартных драйверов.

GWES (Graphics, Windowing, and Events Subsystem) включает в себя графический интерфейс устройства (GDI, Graphics Device Interface) и компоненты пользовательского интерфейса.

Windows CE предоставляет программисту богатейший набор разнообразных API, позволяющий взаимодействовать со всеми устройствами и подсистемами OS.

Core OS Interface отвечает за базовые операции операционной системы по управлению объектами ядра, памятью системы, сообщениями, системным временем, вызовами отладки, динамическими загружаемыми библиотеками.

Блок DLL содержит процедуры управления загрузкой и выгрузкой динамических библиотек, а также вызовом функций из них. Интерфейс Fiber предназначен для создания потоков, управляемых «вручную». В блок Memory Management входят процедуры и функции для управления распределением памяти. Интерфейс Power Management предназначен для управления потреблением электропитания. Интерфейс Message Queue Point-to-Point позволяет с минимальным использованием ресурсов осуществлять обмен сообщениями между окнами, устройствами и ядром. Блок Process and Thread отвечает за создание процессов и потоков, реализацию и управление многопоточной моделью.

Интерфейс Time обслуживет все системные потребности в определении времени, от получения и установки текущего системного времени до миллисекундного измерения временных интервалов. API ToolHelp используется для отладки, а API Pointer обеспечивает управление графическим курсором. Блок Stylus занимается организацией взаимодействия программы с командами, подаваемыми пользователем при помощи стилуса. Блок Authentication отвечает за управление безопасностью системы и занимается защитой от неавторизованного доступа. Он поддерживает механизмы авторизации и аутентификации, отвечающие протоколам NTLM и Kerberos. Блок Cryptography содержит механизм шифрования информации. Механизм опознавания систем, пользователей, приложений и сервисов, с которыми устанавливается контакт через сеть, управляется блоком Сertificates. Блок RAS API и Dial-Up Networking занимается установкой подключения к удаленному компьютеру, а через него к локальной или глобальной сети при помощи протокола PPP. В блоке Fonts содержится интерфейс управления системными шрифтами, а блок MLang отвечает за определение и преобразование текстовых ресурсов одной кодировки в другую. Интерфейс к функциям программно-организованной клавиатуры Pocket PC организован при помощи API Software-Based Input Panel (SIP API).

Блок JScript 5.5 отвечает за поддержку одноименного скриптового языка общего назначения. Организация доступа к Active Directory Service реализована при помощи технологии Lightweight Directory Access Protocol (LDAP). Блок Multilingual User Interface (MUI) отвечает за многоязычный интерфейс пользователя. Он позволяет создавать приложения, которые могут переключать свой интерфейс с одного языка на другой. Очередь сообщений Message Queuing (MSMQ) позволяет приложениям обмениваться сообщениями в распределенных сетях. При помощи блока Network User Interface (NetUI) производится определение конфигурации сетевых и модемных подключений. В API Object Exchange Protocol (OBEX) входит набор функций, позволяющий устройствам обмениваться данными в упрощенном порядке через IrDA или Bluetooth.

Набор интерфейсов для работы с хранилищем данных и реестром содержит в себе дополнительные функциональные блоки. В блоке Database реализована работа со встроенной базой данных Windows CE, представляющей собой легкую файловую базу данных. Она позволяет использовать элементарную функциональность по созданию, хранению, сортировке и доступу к полям записей. Блок File I/0 содержит набор функций и процедур доступа к файлам и каталогам, а также методы для их создания, удаления и переименования. API File Mapping позволяет связывать виртуальное адресное пространство процесса с определенной частью файла или целым файлом, давая возможность процессу получить доступ к содержимому файла через указатели, а также позволяя разделять доступ к файлу между несколькими процессами.

При помощи File System Driver (FSD) файловая структура хранилища данных (например, карты памяти) встраивается в общую структуру файловой системы устройства. В API Registry содержится набор функций для работы с реестром. Информационная модель Pocket Outlook Object Model (POOM) позволяет использовать интерфейсы Pocket Outlook для организации пользовательской информации, которая имеет сходную структуру. Разработчик может использовать эту модель для хранения информации об адресх, контактах и расписании пользователя. API Windows Networking API/Redirector обеспечивает доступ к файловой системе на удаленном компьютере. Блок Virtual Private Networking позволяет объединять Pocket PC и настольный компьютер в единую сеть, а блок Waveform Audio отвечает за воспроизведение звуков. Поддержка протоколов HTTP и FTP и высокоуровневые функции работы с WinSock реализуются при помощи API Windows Internet Services (WinInet), в то время, как API Windows Sockets предоставляет доступ к разнообразным сетевым транспортным протоколам.


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

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