Автор работы: Пользователь скрыл имя, 19 Августа 2013 в 21:33, курсовая работа
целью данной курсовой работы является исследование основ разработки приложений для платформы Windows Mobile 5 Pocket PC.
Поставленная цель раскрывается через следующие задачи:
Ознакомиться с ОС Windows Mobile;
Рассмотреть основы программирования для данной ОС;
Написать приложение, которое должно включать стандартные элементы и демонстрировать работу с сенсорным экраном. Среда разработки
Visual C++;
сделать выводы по проведенному исследованию.
ВВЕДЕНИЕ 2
1. ОБЗОР ПЛАТФОРМЫ POCKET PC 5
1.1 Архитектура Windows CE 5
1.2 Основные элементы интерфейса пользователя 15
2. ОСНОВЫ ПРОГРАМИРОВАНИЯ ДЛЯ PPC 18
2.1 Логическая структура программы Windows CE 18
2.2 Типичная программа для Windows Mobile 22
3. РАЗРАБОТКА ПРОСТЕЙЩЕЙ ПРОГРАММЫ ДЛЯ PPC 27
3.1 Структура игры «Память» 27
ПРИЛОЖЕНИЯ 30
Приложение 1 30
Приложение 2 35
ЗАКЛЮЧЕНИЕ 44
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 46
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. И. КАНТА
КАФЕДРА ТЕЛЕКОММУНИКАЦИЙ
КУРСОВАЯ РАБОТА
Направление: 210400.62 Телекоммуникации
Тема: Основы разработки приложений для
платформы
Windows Mobile 5 Pocket PC
Исполнитель:
студент 3 курса
***
Руководитель:
Старший преподаватель
Сельчихин О. П.
Калининград
2011
Pocket PC (PPC) – это карманные персональные компьютеры (КПК) оснащенные своим собственным процессором, памятью, слотами расширения, звуковой системой и сенсорным дисплеем. КПК обладает малыми размерами, сравнимыми с размерами мобильных телефонов, что достигнуто благодаря замене традиционных средств ввода, таких как клавиатура и мышь, сенсорным дисплеем, а также использованием флэш-памяти, которая обладает меньшими габаритами и отсутствием движущихся механических частей, в отличии от, например, HDD. Роль мыши здесь выполняет сам дисплей и стилус. Настоящая клавиатура заменена «виртуальной», которая отображается на экране. Раньше считалось, что КПК могут использоваться только для набора текстов, прослушивания музыки и для простеньких игр – из-за слабых процессоров и малого объема памяти. Современные КПК обладают высокопроизводительными процессорами, которых вполне достаточно для просмотра видео, работы с базами данных и большими электронными таблицами. Кроме того, КПК оснащены рядом различных технологий беспроводной связи такими как GSM, Wi-Fi, BT. Во многих КПК также присутствует встроенное радио и GPS приемник.
Windows Mobile является наиболее распространенной мобильной операционной системой, разработанной Microsoft для аппаратных платформ Pocket PC (коммуникатор) и Smartphone.
Как пишет Брюса Е. Крелль «ОС Windows Mobile предлагает более широкий набор повторно используемых компонентов интерфейса, чем любая другая встраиваемая операционная система, не исключая Palm OS и встраиваемые версии Unix (которые в этом плане не предлагают вообще ничего). Эти компоненты абсолютно необходимы для того, чтобы компенсировать ограниченность физического экрана КПК. Для большинства реальных приложений необходима надежная система организации многопоточного исполнения. В Windows Mobile программа может создавать новые потоки и синхронизировать доступ к разделяемым данным. Palm OS не поддерживает нескольких потоков в одной программе. Различные встраиваемые варианты Unix поддерживают наличие нескольких процессов, но не потоков, а это приводит к повышенным накладным расходам и заметному снижению производительности».
Особенностью Windows Mobile является то, что она занимает совсем немного оперативной памяти. Тщательно спроектированные, написанные и оптимизированные программы для Windows Mobile занимают также мало места в ОЗУ. Это позволяет разрабатывать приложения, которые работают без всяких задержек.
Итак, программирование для операционной системы Windows Mobile для PPC вызывает интерес и актуально для исследования потому, что:
Во-первых, устройства с данной ОС обладают набором различных технологий связи, что вызывает необходимость написания для них драйверов и различного программного обеспечения.
Во-вторых, ведущие производители электроники с каждым годом все больше и больше увеличивают объёмы продаж КПК с ОС Windows Mobile на рынке мобильных устройств и средств связи.
В-третьих, ОС Windows Mobile обладает множеством преимуществ по сравнению с другими встраиваемыми ОС, например повторно используемые элементы интерфейса и многопоточность.
Кроме того, данная тема слабо рассмотрена в современной литературе посвящённой программированию – на русском языке издано очень мало книг о программировании для ОС Windows Mobile.
Итак, целью данной курсовой работы является исследование основ разработки приложений для платформы Windows Mobile 5 Pocket PC.
Поставленная цель раскрывается через следующие задачи:
В основе любой версии Pocket PC лежит операционная система Windows CE. Она отвечает за отображение окон, обновление экрана, обслуживание событий мыши (стилуса). Но для того, что бы работа устройства на платформе PPC приносила человеку пользу, нужна программа. В этой главе мы рассмотрим основные элементы Windows CE и то, как программа взаимодействует с ним.
В этом разделе мы опишем общую архитектуру операционной системы Windows СЕ.
Защищённые подсистемы
Исполняющая подсистема
Менеджер объектов
Менеджер процессов
Менеджер памяти
Менеджер I/O
Драйвера устройства
Ядро
Клиент PPC
Менеджер GWE
Рис. 1.1. Архитектура Windows CE.
На рис. 1.1 представлены три важнейших программных уровня Windows СЕ. На прикладном уровне располагаются все клиентские программы. Каждая такая программа реализует определенные функции, представляющие интерес для пользователей. Любое клиентское приложение взаимодействует с элементами, расположенными на следующем уровне, - GWES (Graphics, Windowing and Event Subsystem - подсистема управления графикой, окнами и событиями). GWES - это защищенная подсистема, которая обеспечивает управляемый интерфейс между всеми приложениями и базовыми механизмами операционной системы. Как и всякий интерфейс, подсистема GWES решает две основные задачи: доставляет введенные пользователем данные приложению, а выводимые приложением данные - аппаратуре дисплея и операционной системе Windows СЕ. Для выполнения этих функций GWES обращается к различным элементам на следующем уровне - исполняющей подсистеме СЕ (СЕ Executive).
СЕ Executive состоит из целого ряда компонентов, взаимодействующих между собой в ходе выполнения различных операций. Они тоже представлены на рис. 1.1, это менеджер объектов (Object Manager), менеджер процессов (Process Manager), менеджер памяти (Memory Manager), менеджер ввода / вывода (I/O Manager) и ядро.
Операционная система Windows СЕ построена на базе объектов. Любой ресурс, будь то процесс, поток или файл, который создает или использует программа, выглядит для нее как объект со скрытой структурой. Задача менеджера объектов - связать структуры данных, расположенные в памяти операционной системы, с описателем (или идентификатором) этого объекта. Тем самым клиентское приложение может обращаться к ресурсу только с помощью четко определенных методов, которым передается описатель объекта и которые проверяют корректность входных данных. Напрямую модифицировать структуры данных, управляемые операционной системой, приложение не может. За счет этого повышается надежность, как приложения, так и самой операционной системы.
Менеджер процессов вступает в игру, когда пользователь запускает приложение. Этот компонент ОС создает начальный поток приложения, который называется основным потоком, и подготавливает ряд важных структур данных, например место в памяти. Для этого менеджер процессов взаимодействует с другими компонентами: ядром и менеджером памяти.
Выделение, освобождение и учет физической памяти - задачи менеджера памяти. Когда менеджер процессов или клиентское приложение запрашивают память, менеджер памяти находит свободную память, помечает ее как занятую и передает в распоряжение приложения. В ходе освобождения памяти выполняется обратная процедура, в результате чего возвращенная системе память становится доступной другим приложениям.
Все
ресурсы ввода / вывода и операции,
касающиеся физических устройств, например
файлы, последовательный порт или сетевые
порты находятся под
Самая важная часть операционной системы Windows СЕ - это ядро. Его основная задача - управлять существующими потоками и планировать их исполнение. Когда менеджер процессов запрашивает создание основного потока приложения, именно ядро организует поток и создает необходимые структуры данных. Память для этих структур запрашивается у менеджера памяти. Для любого потока необходимо два набора структур данных. Первая позволяет ядру следить за состоянием исполняемого процессором потока, в частности сохранять и восстанавливать счетчик команд. Вторая структура - это стек, в котором поток размещает локальные переменные.
Частью ядра является также планировщик потоков. Он отвечает за то, чтобы каждый поток получал свою долю времени центрального процессора в соответствии со своим приоритетом. После того как поток проработает в течение одного кванта времени, обработчик прерываний передает управление планировщику потоков, который решает, какой поток будет исполняться следующим, и запускает его, предварительно сохранив состояние текущего потока.
Создание файла в клиентском приложении - эти пример типичного взаимодействия между компонентами ОС Windows СЕ. Последовательность таких взаимодействий в таблице 1.1. Каждая строка представляет взаимодействие между двумя элементами. Элемент в колонке «Инициатор» начинает взаимодействие, а элемент в колонке «Исполнитель» является отвечающей стороной. Суть взаимодействия отражена в колонке «Описание».
Таблица 1.1.
Инициатор |
Исполнитель |
Описание | |
Клиентское приложение |
Подсистема GWE |
Создать файл |
Подсистема GWE |
Менеджер ввода / вывода |
Запрос о создании файла менеджеру ввода /вывода |
Менеджер ввода / вывода |
Менеджер объектов |
Создать файловый объект |
Менеджер объектов |
Менеджер ввода / вывода |
Описатель файлового объекта |
Менеджер ввода / вывода |
Менеджер памяти |
Структуры данных, описывающие файл |
Менеджер памяти |
Менеджер ввода / вывода |
Указатель на объект в памяти |
Менеджер ввода / вывода |
Подсистема GWE |
Описатель файлового объекта |
Подсистема GWE |
Клиентское приложение |
Описатель файлового объекта |
В самом начале клиентское приложение вызывает функцию CreateFile из интерфейса прикладных программ Win32 API. Эта функция обращается к подсистеме GWE. В ответ подсистема GWE передает запрос менеджеру ввода / вывода исполняющей подсистемы Windows СЕ Executive. Для этого GWE должна просто проверить корректность переданных ей аргументов и передать необходимые аргументы функции OICreateFile, входящей в состав менеджера ввода / вывода.
Менеджер ввода / вывода должен решить две задачи. Сначала он обращается к менеджеру объектов для создания объекта, представляющего конкретный файл. В результате в глобальное пространство имен, управляемое менеджером объектов, помещается объект, описывающий файл. После того как менеджер ввода / вывода получит описатель этого объекта, он должен запросить физическую память для размещения содержимого файла. Выделение памяти - это функция менеджера памяти, так что менеджер ввода / вывода должен обратиться к нему.
Оставшиеся взаимодействия показанные в таблице 1.1 - это возврат описателя файлового объекта вверх по цепочке вызовов клиентскому приложению. Во всех последующих операциях с файлом - чтении, записи, проверке достижения конца файла -используется этот описатель. Он однозначно идентифицирует открытый файл для всех компонентов исполняющей подсистемы. Клиентское приложение может выполнять над файлом только те операции, которые поддерживаются функциями, принимающими в качестве первого аргумента описатель файла.
Клиентское приложение для Pocket PC взаимодействует с операционной системой Windows СЕ через подсистему управления графикой, окнами и событиями (GWE). Если программист хорошо понимает внутреннюю организацию и работу этой подсистемы, то он сможет спроектировать эффективное приложение. На рис. 1.2 показана архитектурная организация подсистемы GWE. Ее важными элементами являются очереди, а также компоненты GDI, WINDOW и USER.
Первым делом мы рассмотрим компонент «системная очередь». Драйверы всех устройств помещают в эту очередь сообщения, содержащие информацию о действиях пользователя. Компонент USER перемещает эти сообщения в очередь сообщений потока. Внутри компонента USER работает специальный поток, который называется Raw Input Thread (RIT - поток необработанного ввода). Он следит за появлением новых сообщений в системной очереди. Как только в нее поступает новое сообщение, поток RIT извлекает его, определяет, кому оно предназначено, и помещает сообщение в очередь получателя.
WINDOW
USER
Очередь сообщений потока
Очередь сообщений потока
Системная очередь
Основной поток приложений
Основной поток приложений
Физический дисплей
Клавиатура
Мышь
Драйвер
Рис. 1.2. Внутреннее устройство подсистемы GWE.
Напомним, что основной поток приложения создается ядром; именно в очередь этого потока помещается сообщение. На основе описателя окна, включаемого в состав сообщения драйвером устройства, поток RIT в компоненте USER может без труда определить получателя сообщения.
Информация о работе Основы разработки приложений для платформы Windows Mobile 5 Pocket PC