Связь пк с win ce 6. Удобный пользовательский интерфейс

Windows CE (она же WinCE) - это вариант операционной системы Microsoft Windows для наладонных компьютеров, мобильных телефонов и встраиваемых систем. Windows CE не является «урезанной» версией Windows для настольных ПК и основана на совершенно другом ядре. Поддерживаются архитектуры x86, MIPS, ARM и процессоры Hitachi SuperH.

Windows CE оптимизирована для устройств, имеющих минимальный объём памяти: ядро Windows CE может работать на 32 Кб памяти. С графическим интерфейсом (GWES) для работы Windows CE понадобится от 5 мб. Устройства часто не имеют дисковой памяти и могут быть сконструированы как «закрытые» устройства, без возможности расширения пользователем (например, ОС может быть «зашита» в ПЗУ). Windows CE соответствует определению операционной системы реального времени.

На базе Windows CE основано множество платформ, включая Handheld PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, а также множество промышленных устройств и встроенных систем. Приставка Sega Dreamcast имела поддержку Windows CE. Самой Windows CE в изначальной поставке не было, но она могла запускатся на приставке с CD. Некоторые игры использовали данную возможность===

Здесь сравниваются некоторые из основных характеристик платформ Windows CE .NET и Windows Mobile™. Ее цель – познакомить потребителей со сходствами и различиями этих платформ, а также объяснить роль каждой из них в стратегиях корпорации Microsoft относительно мобильных и встроенных устройств.

Основная платформа корпорации Microsoft для таких портативных устройств, как карманные персональные компьютеры (PDA, КПК), смартфоны и Portable Media Center. Стандартизация требований к оборудованию и программам позволила оптимизировать параметры устройств на основе Windows Mobile и обеспечить поддержку приложений от сторонних разработчиков. Платформа Windows CE предназначена для более широкого спектра встраиваемых устройств. Учитывая разнообразие устройств, которые могут быть созданы на базе Windows CE, к ним не предъявляется никаких стандартных требований относительно оборудования и программ.

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

Версия ОС Windows CE 3.0 Windows CE .NET 4.2 Windows CE 5.0 Продукты для КПК Pocket PC 2000 Pocket PC 2002 Windows Mobile 2003 for Pocket PC Windows Mobile 5.0 Продукты для телефонных устройств - Smartphone 2002 Windows Mobile 2003 for Smartphone

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

С самого начала платформа Windows CE разрабатывалась с учетом потребностей рынка встраиваемых систем. Она объединяет современную операционную систему реального времени и мощнейшие средства разработки, позволяющие быстро создавать компактные, интеллектуальные и взаимодействующие устройства нового поколения. Основанная на собственной кодовой базе, отличной от настольных ОС, платформа Windows CE .NET предоставляет разработчикам компонентную встраиваемую ОС с богатыми возможностями по конфигурированию системы и выбору приложений для широкого спектра встраиваемых устройств. Изготовители устройств могут использовать платформу Windows CE как для разработки специализированного образа ОС, так и для создания приложений для устройств с жесткими требованиями к ресурсам. Спектр этих устройств простирается от промышленных инструментов (индустриальных контроллеров, коммуникационных коммутаторов, тонких Windows-клиентов и т.п.) до устройств широкого потребления (цифровых камер, VoIP-телефонов, телевизионных IP-приставок и т.п.).

Platform Builder – это интегрированная среда разработки для создания, отладки и развертывания специализированных образов ОС на базе Windows CE.

Особенности платформы Windows Mobile

Подробный обзор основных потребительских характеристик платформы Windows Mobile приведен здесь.

В контексте сравнения с платформой Windows CE, следует отметить, что производитель устройств на базе Windows Mobile получает это программное обеспечение для своего устройства не в виде исходного кода, а в виде уже почти законченного продукта. В этот продукт производителю необходимо внести только те изменения, которые касаются аппаратных особенностей разрабатываемого им устройства, но благодаря стандартизации требований к устройствам Windows Mobile, внесение подобных изменений не требует от производителя значительных затрат. Таким образом, использование платформы Windows Mobile позволяет производителю портативных устройств значительно сократить время разработки устройства и снизить финансовые расходы на подготовку к выпуску в продажу своего издения. Для обозначения этого качества используется термин “go-to-market”.



Windows CE

Введение.

Windows CE (она же WinCE) - это вариант операционной системы Microsoft Windows для наладонных компьютеров, мобильных телефонов и встраиваемых систем. Сегодня Windows CE (Consumer Electronics - бытовая техника) не является «урезанной» версией Windows для настольных ПК, она основана на совершенно другом ядре и является операционной системой реального времени с набором приложений, основанных на Microsoft Win32 API.

Windows Mobile (также известна как Windows Phone для ветки 6.5.x) - мобильная операционная система, разработанная Microsoft для собственных аппаратных платформ Pocket PC (коммуникатор) и Smartphone. В настоящее время переживает постепенный отказ от поддержки и разработки. Изначально классические устройства Windows Mobile были карманными персональными компьютерами без возможности подключения к сотовой сети и имели название Pocket PC (PPC). Наследниками Pocket PC являются операционные системы Windows Mobile Professional, кроме функций КПК поддерживающая ещё и функции телефона, и Windows Mobile Classic, тоже предназначенная для КПК, но построенная на более современных технологиях.

Pocket PC (сокращенно Р/РС или PPC) - программная и аппаратная платформа для карманных персональных компьютеров и коммуникаторов компании Microsoft, а также общее название устройств с сенсорным экраном, работающих под управлением операционной системы Windows Mobile. На некоторых таких аппаратах возможно запустить и другие ОС, например GNU/Linux, NetBSD. В русском языке специального термина, обозначающего данный вид устройств нет. Термин Карманный ПК используется для обозначения всего класса мобильных компьютеров, которые в английском называются PDA. В 2007 году компания Microsoft отказалась от использования названия Pocket PC в обозначении версий Windows Mobile 6, изменив соответственно схему обозначения устройств. Коммуникаторы должны называться Windows Mobile 6 Professional devices, а простые КПК (без телефонных функций) - Windows Mobile 6 Classic Devices. Однако, такие длинные названия неудобны, поэтому устройства на базе Windows Mobile продолжают называть Pocket PC.

Архитектура Windows CE.

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

Последней версией из этого семейства является система Microsoft Windows Phone 7 (основанная на Windows Embedded CE 6.0, вышла 11 октября 2010 года). В отличие от других ОСРВ Windows CE проектировалась так, чтобы она была совместимой с универсальными ОС. В настоящее время на большинстве современных устройств установлены и работают Windows Mobile 6.0 и Windows Mobile 6.5, основой у которых является Windows CE 5.2.

Windows CE 5.0 является преемником Windows CE 4.2, третьего релиза семейства Windows CE .NET, 32-разрядная операционная система для мобильных и встраиваемых компьютеров реального времени с поддержкой x86, ARM, MIPS и SuperH микропроцессорной архитектуры.

Новое по сравнению с предыдущей версией:


  • Около 50 новых драйверов устройств;

  • Средства испытания и обслуживания: Windows Error Reporting (отчет об ошибках Windows), расширение функциональности Windows CE Test Kit (испытательного комплекта для Windows CE)

  • Мультимедиа: Direct3D Mobile для мультимедийных, игровых и других приложений

  • Безопасность: прогнозирование опасностей, настройки безопасности по умолчанию, поддержка стандарта шифрования AES, поддержка XML-стандартов (повышается управляемость и гибкость операций при работе с Windows CE).

  • Для ОС Windows CE 5.0 Microsoft смягчила условия лицензии на исходный код, распространяющийся в рамках инициативы Shared Source. Так, потребители смогут распространять модифицированные версии системы в коммерческих целях, при этом сохраняя за собой права на сделанные изменения. Ранее Microsoft требовала сублицензировать ей все выполненные модификации.

Windows CE 5.0 существует в нескольких модификациях. Windows CE 5.0 часто устанавливается на GPS-навигаторах, обеспечивая минимальную функциональность. В то время как Windows CE 5.0 .NET устанавливают на устройствах класса КПК.

В состав Windows CE 5.0 .NET входит специальная версия исполняющего ядра.NET - .NET Compact Framework 1.0 Service Pack 2. Также включен набор программ просмотра документов в форматах приложений, входящих в Microsoft Office (Word, Excel, PowerPoint), Microsoft Inbox (клиент электронной почты) и WordPad (упрощенный редактор текстов в формате Microsoft Word или RTF). На платформе x86, Windows CE 5.0 конкурирует с Java, Symbian OS, Palm OS.

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

Архитектура Windows CE представлена на рис. 1. Наиболее интересным в этой операционной системе является ее модульность и четкое деление на платформенно зависимую и платформенно независимую части. Именно эти два свойства делают довольно легкой адаптацию Windows CE к конкретной платформе и конкретной задаче.

OEM, Microsoft и независимые производители ПО

Благодаря модульности можно строить различные конфигурации операционной системы, отвечающие конкретным требованиям заказчика. Это позволяет существенно уменьшить потребность в памяти (за счет включения только необходимых компонентов) и охватить больший спектр приложений (за счет постепенного пополнения библиотеки компонентов).

Файловая система.

В Windows CE используется файловая система TFAT (transaction-safe FAT). Основной особенностью данной ФС является то, что она поддерживает прерывание транзакций во время исполнения. Таким образом, такие частые явления, как извлечение карты памяти, или потеря питания не скажутся не целостности ФС, и никакая пользовательская информация не будет потеряна. TFAT работает с 2 копиями таблицы FAT: Таблица FAT1, в которой происходит управление текущими операциями, и таблица FAT0, в которой хранится последняя стабильная копия FAT. Изменения в FAT0 не будут сохранены до тех пор, пока все элементы транзакции не будут выполнены успешно. Если транзакция не выполняется успешно, то диск восстанавливается в том состоянии, что был до начала выполнения транзакции. После того, как все транзакции выполнены успешно, таблица FAT1 копируется в FAT0.

Теоретический объем TFAT – 2Тб, размер одного сектора – 512 байт. Для того чтобы изменить существующий файл, TFAT разместит новый кластер для изменяемых битов и проложит новый маршрут для цепочки FAT таким образом, чтобы эта цепочка охватывала новый кластер. Это сделано для того, чтобы если транзакция не будет выполнена успешно, то исходная копия файла осталась не поврежденной.

Архитектура ядра.

Ядро обеспечивает базовую функциональность ОС. Эта функциональность включает в себя процессы, потоки и управление памятью. Также ядро обеспечивает некоторые возможности работы с файловой системой.

Ядро использует страничную схему виртуальной памяти для управления и размещения приложений в памяти. Система виртуальной памяти обеспечивает смежные блоки памяти, в страницах размером 4096 байт в банках размером 64 Кб, так что приложениям вовсе не нужно заботиться об управлении памятью. Для запросов на память, меньших 64 Кб, приложение может использовать локальную кучу, доступ к которой есть у каждого приложения. Также ядро выделяет память в стеке для каждого нового процесса или потока. Разработчики ПО могут использовать функции ядра для выделения и освобождения виртуальной памяти, использовать память в локальной куче, создавать раздельные кучи и выделить память из стека. Ядро предоставляет следующую функциональность:


  1. Управление памятью

  2. Планирование

  3. Исполнение программ в реальном времени

  4. Системные вызовы

Symbian OS

История появления Symbian OS

Операционная система Symbian OS (EPOC 32) была создана компанией Symbian - совместным предприятием фирм Motorola, Ericsson, Nokia и Psion на базе подразделения Psion Software компании Psion. Позднее к ним присоединилась компании Matsuflowersa, Kenwood, Fujitsu, Siemens и другие.

Первый выпуск («релиз») EPOC 32 в апреле 1997 ознаменовал собой рождение нового поколения операционных систем, основанного на обширном опыте компании Psion в индустрии портативных мобильных устройств.

С 1991, серия устройств под общей маркой Psion Series 3 сделала персональный цифровой органайзер популярным и доступным устройством массового спроса. Новая ОС получила название SIBO (SIxteen-Bit Organiser), часто ее также называют SYMBIAN OS16.

В 1998-2000 гг. значительная часть системы была переписана с целью оптимизации кода для работы на устройствах с ограниченными ресурсами. Начиная с версии системы 9.x появился серьёзный механизм защиты - разграничение API в соответствии с правами приложений (capabilities). Основной язык разработки приложений - С++, имеется поддержка Java. Также существуют библиотеки PIPS для портирования приложений с других ОС.

В 2005 году вышла Symbian OS Series 60 3rd Edition, основанная на новом ядре EKA2, что привело к нарушению обратной совместимости с программами, написанными для предыдущих версий. На данный момент наиболее распространённой (по количеству устройств) версией является Symbian OS Series 60 3rd Edition и 5th Edition(Symbian^1).

11 февраля 2011 Nokia объявила о том, что Windows Phone 7 станет ключевой платформой для смартфонов, однако компания не планирует отказываться от платформ Symbian и MeeGo, которые развивала в последние годы. Symbian при этом станет франшизной.

Архитектура Symbian OS (на примере версии 7.0s)


Рис. 1. Архитектура Symbian OS

Прежде всего, нужно понимать, что Symbian OS для производителей телефонов разделена на две части: ядро и графическую систему. Благодаря этому производители телефонов могут создавать свой вид пользовательского интерфейса. Программная архитектура Symbian OS создана по принципу модульного построения, состоящего из надстраиваемых друг над другом уровней:


  • Kernel and Hardware Integration - ядро и аппаратная часть системы;

  • Base Services - базовые сервисы;

  • OS Services - сервисы операционной системы;

  • Application Services - пользовательские сервисы;

  • UI Frameworks - инфраструктура пользовательского интерфейса;

  • Java 2 ME - платформа Java 2 ME.

Ядро и аппаратная часть системы


Рис. 2. Уровень Kernel и Hardware Integration

Абстрактный уровень ядра и аппаратной части системы (Kernel and Hardware Integration) состоит из двух подсистем, изображенных на рис. 2. Ядро системы (Kernel Services) оптимизировано для работы на процессорах архитектуры ARM с эффективным управлением всех имеющихся сервисов системы. Ядро системы обеспечивает многопоточность работы, управление памятью и питанием, а также обеспечивает возможность переноса на любое аппаратное обеспечение.

Драйверы устройства (Device Driver) обеспечивают низкоуровневую поддержку программных контроллеров для следующих устройств:

Базовые сервисы


Рис. 3. Уровень Base Services

Базовые сервисы системы (Base Services) обеспечивают основной или базовый каркас для последющих компонентов Symbian OS . Уровень базовых сервисов состоит из двух подсистем: Low Level Libraries (Низкоуровневые библиотеки) и Fileserver (Файл сервер). На рис. 3. представлен базовый уровень.

Компонент Low Level Libraries содержит низкоуровневые библиотеки и утилиты, с помощью которых можно решать задачи в следующих областях:


  • криптография;

  • базы данных;

  • структура управления питанием;

  • поддержка кодировок;

  • работа с памятью;

  • работа с архивами.
Файл сервер требуется для корректной работы с файловыми системами. Поддерживаются типы носителей:

  • RAM (Random Access Memory)- оперативно-запоминающее устройство (ОЗУ), применяющееся для чтения и записи данных;

  • NOR flash;

  • NAND flash;

  • ММС-карта памяти;

  • SD-карта памяти.

Сервисы операционной системы

Сервисы операционной системы (OS Services) содержат набор компонентов инфраструктуры Symbian OS для работы с графикой, мультимедиа, криптографией, связью и так далее. Это полноценные микропрограммы, базовая составляющая которых основывается на предыдущих уровнях операционной системы. Уровень OS Services разделен на четыре подсистемы, с набором различных компонентов. На рис. 4 изображен уровень OS Services.

Рис. 4. Уровень OS Services

Сервис связи с компьютером (PC Connect Services) обеспечивает связь телефона с компьютером посредством специализированного программного обеспечения, а так же инструментальные средства разработчика (Toolkit) для создания программ на компьютере.

Графический сервис (Graphics Services) предусматривает работу с экраном и клавиатурой на основе- графической подсистемы, предоставляя прямой доступ к экрану, устройству ввода и сглаживанию графики. Все это происходит на основе HAL (Hardware Abstraction Layer - уровень аппаратной абстракции).

Сервис передачи данных (Comms Services) обеспечивает для Symbian OS инфраструктуру коммуникаций. Прежде всего, это телефония (Telephony), работа с сетью (Networking Services) и сервис связи с последовательным и инфракрасным портами, USB и Bluetooth.

Система телефонии предоставляет возможность работы со стандартами:


  • GSM (Phase2+),

  • GPRS (r4, Class В),

  • CDMA 2000 (lx),

  • EDGE (ECSD, EGPRS),

  • WCDMA(r4).
Сетевой интерфейс поддерживает протоколы связи:

  • TCP, IPv4, IPv6, MSCHAPv2;

  • IPSec;

  • TCP/IP;

  • множественная адресация.
В свою очередь сервис связи предусматривает работу с основными средствами связи:

  • IrDA;

  • Bluetooth.
Подсистема в уровне OS Services - это Generic Services (Общие сервисы), состоит из двух сервисов: Cryptography Services (Криптография) и Multimedia (Мультимедиа). Криптография отвечает за безопасность системы в области криптографии, управления сертификатами и инсталляции программного обеспечения на телефон. В криптографии поддерживаются стандарты:

  • DES; Q 3DEC;

  • RC2-128;

  • RSA;,

  • PKCS#7.
Система мультимедиа необходима для работы со звуком, видео и графикой (как 2D, так и 3D). Работа с этими компонентами осуществляется через соответствующие системные библиотеки. На рис. 5 представлена составляющая системы мультимедиа.

Рис. 5. Система мультимедиа

Создание трехмерных игр в Symbian OS возможно при соответствующей аппаратной поддержке и на основе OpenGL ES. Работа с 2D графикой построена через GDI (Graphics Device Interface - интерфейс графического устройства) системы Symbian. Также все телефоны под управлением Symbian OS поддерживают работу со звуком и видео.

Пользовательские сервисы

Уровень пользовательских сервисов (Applications Services) инкапсулирует различные механизмы, обеспечивающие пользователю работу с данными. Symbian OS содержит встроенный пакет приложений, таких как: календарь, заметки, будильник, передача SMS, доступ к электронной почте и так далее. Сервис пользовательских услуг состоит из четырех подсистем, изображенных на рис. 6.


Рис. 6. Уровень пользовательских сервисов

PIM (Personal Information Manager - персональный информационный менеджер) обеспечивает стандартные механизмы по работе с пользовательскими данными. Примером могут служить простой органайзер, записная книжка или офисные приложения, реализованные в Symbian OS . Имеется большой набор API для создания своих пользовательских программ.

Синхрониизация данных (Data Synchronization) построена на основе механизма ОМА SyncML 1.1, обеспечивающего синхронизацию данных по принципу сервер/клиент.

Передача сообщений (Messaging) поддерживает все основные виды сообщений: Также поддерживается работа по протоколам POP, SMTP/ШАР для передачи и приема, например, электронной почты (Browsing). Осуществляется поддержка WAP, HTTP, XHTTP, а системная библиотека имеет множество классов для создания своих программ.

Инфраструктура пользовательского интерфейса

Инфраструктура пользовательского интерфейса (UI Framework) - это система, на основе которой производители мобильных устройств могут создавать свой графический интерфейс на базе механизмов Symbian OS . Мудрым и взвешенным решением было разделение системы на ядро и графику. Инфраструктура пользовательского интерфейса состоит из двух компонентов. Первый - UI Applications Framework (Прикладная инфраструктура) предоставляет возможность в создании собственного пользовательского интерфейса, который вы можете наблюдать на своем телефоне. Второй - UI Toolkit (Инструментальные средства разработчика пользовательского интерфейса). На основе этих средств производители телефонов разрабатывают свои SDK, и с помощью которых программисты создают свои программы. Такой подход расширяет круг производителей, заинтересованных в портировании Symbian OS на свои модели телефонов.

Многозадачность и другие особенности ядра EKA2 в Symbian OS.

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

Android

Особенности платформы Android

Первое, что стоит сказать о платформе Android, это то, что построена она на базе Linux со всеми вытекающими, в том числе и по части безопасности. Каждое установленное на Android приложение живет как бы в своей области, использует только необходимые для работы файлы и не имеет доступа к файлам других приложений (3) :

  • Операционная система Android многопользовательская Linux система, где каждое приложение это, по сути, уникальный пользователь.

  • По умолчанию система присваивает каждому приложению уникальный идентификационный номер – пользовательский ID. При этом об этом ID знает только операционная система, для приложения же оно оказывается скрыто. После этого ОС выставляет разрешения для каждого файла в приложении, и, таким образом, только это приложение может обратиться к ним.

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

  • По умолчанию каждое приложение запускает свой собственный Linux процесс. Android запускает процесс, когда компоненты приложения нуждаются в обработке, затем заканчивает процесс, когда ресурсы ему больше не нужны, или же когда ресурсы системы должны быть освобождены под другую задачу.
Таким образом, ОС Android реализует принцип наименьшей привилегии. Это значит, что каждое приложение, по умолчанию, имеет доступ исключительно к компонентам, в которых нуждается для нормальной работы, но не более. Все это делает повышает защиту ОС Android от несанкционированного доступа. Однако это не означает, что нет возможности установить для нескольких приложений общие файлы:

  • В рамках операционной системы есть возможность для двух разных приложений установить один и тот же ID, что даст возможность приложениям обращаться к файлам друг друга. Для экономии системных ресурсов у приложений с общим ID есть возможность выполняться в одном и том же процессе Linux и использовать общую виртуальную машину (приложения так же должны иметь одинаковый сертификат).

  • Также каждое приложение может запросить доступ к контактам пользователя, SMS сообщениям, носителям данных, камере, Bluetooth и пр. В таком случае все приложения должны получить подтверждение от пользователя на эти операции.
Android обладает широким спектром возможностей подключения, охватывающим Wi-Fi, Bluetooth и протоколы передачи данных через сотовую сеть (GPRS, EDGE, 3G и др.). В стек программного обеспечения Android входит и поддержка сервисов, основанных на определении местоположения (например, GPS), и акселерометров, поддержка видеокамеры.

Исторически двумя областями, где мобильные приложения отставали от своих настольных собратьев, были графика/мультимедиа и способы хранения данных. Android решает проблему графики благодаря встроенной поддержке 2-D и 3-D графики, включая библиотеку OpenGL. Задача хранения данных упрощается благодаря наличию в платформе Android популярной базы данных с открытым исходным кодом SQLite. На рисунке 1 показана упрощенная схема уровней программного обеспечения Android.

Всего, как видно из схемы, существует 5 уровней в архитектуре: уровень приложений, уровень каркаса приложений, уровни общих библиотек и виртуальной машины, и уровень ядра (Linux kernel 2.6).

Уровень приложений (Applications)

В состав Android входит комплект базовых приложений: клиенты электронной почты и SMS, календарь, различные карты, браузер, программа для управления контактами и много другое. Все приложения, запускаемые на платформе Android написаны на языке Java.

Уровень каркаса приложений (Application Framework)

Android позволяет использовать всю мощь API, используемого в приложениях ядра. Архитектура построена таким образом, что любое приложение может использовать уже реализованные возможности другого приложения при условии, что последнее откроет доступ на использование своей функциональности. Таким образом, архитектура реализует принцип многократного использования компонентов ОС и приложений.

Основой всех приложений является набор систем и служб:

1. Система представлений (View System) – это богатый набор представлений с расширяемой функциональностью, который служит для построения внешнего вида приложений, включающий такие компоненты, как списки, таблицы, поля ввода, кнопки и т.п.

2. Контент-провайдеры (Content Providers) – это службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять доступ к своим данным.

3. Менеджер ресурсов (Resource Manager) предназначен для доступа к строковым, графическим и другим типам ресурсов.

4. Менеджер извещений (Notification Manager) позволяет любому приложению отображать пользовательские уведомления в строке статуса.

5. Менеджер действий (Activity Manager) управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с действиями.

Уровень среды исполнения (Android Runtime)

В состав Android входит набор библиотек ядра, которые предоставляют большую часть функциональности библиотек ядра языка Java. Платформа использует оптимизированную, регистр-ориентированную виртуальную машину Dalvik, в отличии от нее стандартная виртуальная машина Java – стек-ориентированная. Каждое приложение запускается в своем собственном процессе, со своим собственным экземпляром виртуальной машины. Dalvik использует формат Dalvik Executable (*.dex), оптимизированный для минимального использования памяти приложением. Это обеспечивается такими базовыми функциями ядра Linux, как организация поточной обработки и низкоуровневое управление памятью. Байт-код Java, на котором написаны ваши приложения, компилируются в dex-формат при помощи утилиты dx, входящей в состав SDK.

Уровень ядра Linux (Linux Kernel)

Android основан на ОС Linux версии 2.6, тем самым платформе доступны системные службы ядра, такие как управление памятью и процессами, обеспечение безопасности, работа с сетью и драйверами. Также ядро служит слоем абстракции между аппаратным и программным обеспечением.используется Linux Kernel 2.6.

Android включает в себя набор библиотек, написанных на C/C++, используемые различными компонентами системы. Разработчики так же могут воспользоваться этими библиотеками.

Архитектура приложений

Как уже говорилось, Android работает поверх ядра Linux. Android-приложения пишутся на языке программирования Java и выполняются в виртуальной машине (VM). Важно отметить, что виртуальная машина – это не JVM, как можно было бы ожидать, а открытая технология Dalvik Virtual Machine. Как было сказано выше, каждое приложение Android запускается внутри экземпляра Dalvik VM, который, в свою очередь заключен в пределах управляемого ядром Linux процесса, как показано на рисунке 2

Компоненты приложения

Компоненты приложения – элементарные строительные блоки, из которых строится программа для Android. Имеется четыре различных типа компонентов. Каждый из типов имеет уникальное назначение и собственный жизненный цикл, определяющий, как они создаются и уничтожаются. Итак, этими компонентами являются:

  • Activities (действия)
Activity представляет собой один экран с пользовательским интерфейсом (подобно web странице). К примеру, приложение, оперирующее электронной почтой, может иметь один экран (activity), отражающий список последних сообщений, другой для создания сообщений, третий для просмотра сообщений. Таким образом эти три рабочих области (экрана, страницы, activity) связаны и зависят друг от друга, образуя единый пользовательский интерфейс. Приложения могут запуститься с любого из этих экранов (если такое поддерживается самой программой), например, камера может запустить страницу с созданием сообщения для того, чтобы пользователь мог сразу отправить только что сделанную фотографию.

  • Services (сервисы)
Services – компонент, запускающийся в фоновом режиме для выполнения длинных операций или для выполнения работы удаленных процессов. Не поддерживает пользовательского интерфейса. К примеру, сервис может проигрывать музыку в фоновом режиме, в то время как пользователь находится в другом приложении, или передавать данные по сети не прерывая работы пользователя с текущим activity. Другие компоненты могут запускать service и управлять им (например тот же activity).

  • Content providers (источники данных)
Content provider управляет общедоступными данными. Вы можете хранить информацию в файлах, базах данных, в интернете, или в других постоянных хранилищах данных, к которым Ваше приложение имеет доступ. Через управление содержимым другие приложения могут обращаться или даже изменять данные. К примеру ОС Android поддерживает управление содержимым контактной информацией пользователя.

  • Broadcast receivers (приемники)
Broadcast receiver – компонент отвечающий за получение глобальных событий системы. Таковыми могут быть, к примеру, отключение экрана, разрядка батареи, входящий звонок и т.д. Приложения так же могут инициализировать подобные события. Это может понадобится для того, чтобы позволить другому приложению узнать об успешной загрузке данных на устройство и об их доступности для него. Кроме того этот компонент не имеет пользовательского интерфейса, однако может создавать окно предупреждения при наступлении события. Если в общем, то broadcast receiver своего рода «порт» для других компонентов и он предназначен для выполнения минимального объема работ. К примеру, он может инициализировать services для выполнения некоторой работы, привязанной к определенному событию.

Отличительной особенностью OC Android является то, что приложения могут запускать компоненты других приложений. Однако приложения отделены друг от друга жесткими правами доступа на каждый ресурс, и потому не могут напрямую обращаться к чужим ресурсам, даже если эти ресурсы помечены как общедоступные. Однако ядро может обращаться ко всем приложениям и в т.ч. к их компонентам. Поэтому, чтобы приложению 1 получить компонент приложения 2 ему придется сначала обратиться к ядру. Ядро решит, можно ли передать приложению 1 компонент приложения 2 (в случае, если изначально архитектура приложения была рассчитана на запуск отдельных его компонентов другим ПО) и передаст, если такая возможность имеется.

На рисунке выше отмечен порядок действий:


  1. Приложение 1 обращается к ядру с просьбой выделить для него некоторые ресурсы из приложения 2

  2. Ядро обращается к приложению 2

  3. Ядро запускает и получает Activities приложения 2

  4. Ядро возвращает запущенное Activities приложению1

Данная статья будет интересна тем людям, которые неудачно прошили планшет с процессором WM8505, т.е. не могут подобрать для него стабильно работающую прошивку с OS Android. Здесь я расскажу, как установить на свой планшет русскую версию OS Windows CE 6.0 Embedded.

По одной из моих задумок, решил восстановить старенький планшет, отправленный давно на донорство. На момент восстановления в нем отсутствовали: Wi-Fi модуль, камера, сенсор, аккумулятор, микросхема GL850G (служит USB хабом) и прочая мелочь. Чтобы как-то можно было управлять планшетом, например, стандартной мышкой, вывел пару USB гнезд по уже «накатанной», но усовершенствованной технологии, о которой я рассказывал в . Привожу несколько фотографий данного процесса.


Потому что на плате отсутствует микросхема GL850G, максимальное количество портов USB равняется двум. Если кому-нибудь будет интересно, как и откуда брать разводку USB в отсутствии чипа GL850G, спрашивайте, отвечу в комментариях, хотя все и так видно на фото.



Итак, приведя «железо» планшета в более-менее рабочее состояние, я решил попытаться найти на него прошивку на базе Android OS, но ни одна из них, после установки не запускалась – made in china, что сказать. В результате выбор остановил на WinCE 6.0 RUS. Загружается она в разы быстрее по сравнению с android, что для меня было огромным плюсом. Минусом стал тот факт, что драйвера на камеру найти так и не удалось.

Скачать WinCE 6.0 русскую версию для планшета с процессором WM8505 можно . Устанавливается windows по знакомому сценарию. Необходимо распаковать архив и скопировать содержимое на флеш карту microCD, чтобы в корне флешки оказалась папка script. Затем вставляется данная microCD карта в планшет, он включается и начинается процесс установки, который занимает порядка пяти минут. Сложного ничего в нем нет, главное следить за надписями на экране и следовать им. В процессе установки Windows CE 6.0 Embedded на планшет, нужно будет один раз вынуть microCD карту и принудительно перезагруситься. Вот все, что от Вас потребуется.

Хочу отметить тот факт, что microCD карта памяти на 2 GB class 6 не подошла для этих целей, а на 16 GB class 4 – работала стабильно и надежно. Немаловажным является и тот факт, что в процессе установки WinCE 6.0 на планшет следует обязательно отпаять (отсоединить) камеру, т.к. драйверов на нее в OS нет, и windows на процессе их поиска зацикливается. Возможно, это будет касаться и модуля Wi-Fi, проверить не смог, т.к. он у меня банально отсутствовал при установке, и проверить данный факт возможности не было.

«Yamazaki») является шестой версией операционной системы Windows Embedded, ориентированной на предприятия, изготавливающие промышленные контроллеры и устройства бытовой электроники. В Windows Embedded CE 6.0 полностью переделано ядро, которое поддерживает свыше 32000 процессов, по сравнению с 32 в предыдущих версиях. С 32 Мб до 2 Гб поднялось выделяемое для процессов виртуальное адресное пространство.

В марте 2011 Windows Embedded CE 6.0 сменила улучшенная Windows Embedded Compact 7

Энциклопедичный YouTube

    1 / 1

    ✪ Installing Windows CE in Beaglebone Black

Субтитры

Описание

Windows Embedded CE - это компонентная, многозадачная, многопоточная, многоплатформенная операционная система с поддержкой реального времени. Разработчикам доступны около 600 компонентов, используя которые они могут создавать собственные образы операционной системы, которые включает только необходимую данному конкретному устройству функциональность. Операционная система предоставляет разработчикам приложений набор API , основанный на стандартном Win32 API и дополненный специализированным API для встраиваемых устройств. Поскольку CE поддерживает только часть Win32 API и имеет определённую специфику, связанную со встраиваемой природой операционной системы, приложения, написанные для настольных версий операционной системы Windows, могут потребовать дополнительной адаптации и модификации для запуска их на встраиваемых устройствах; и в любом случае, для запуска программ на устройстве потребуется их перекомпиляция.

Так же, как и настольные версии Windows, Windows Embedded CE использует стандартный формат исполняемого файла - Portable Executable (PE). Это позволяет использовать большинство стандартных утилит, работающих с форматом PE, например Dependency Walker (проверка зависимостей) или DumpBin.

Средства разработки операционной системы Embedded CE 6.0 интегрированы с Visual Studio 2005. Они поставляются как дополнение к этому современному пакету разработки. Интеграция с Visual Studio позволяет использовать одну среду для разработки как прикладных, так и системных программ. Вместе с новыми средствами разработки поставляется новый ARM эмулятор устройства, интегрированный в Platform Builder, облегчает процесс конфигурирования, создания и тестирования образов операционных систем. Вся мощь редактора исходного кода современной Visual Studio доступна разработчикам на CE 6.0: подсветка синтаксиса и технология InteliSense (включая BIB файлы). Появились новые графические редакторы: редактор реестра, редактор образа операционной системы. CE 6.0 использует улучшенные компиляторы Visual Studio 2005. Новые компиляторы имеют улучшенную совместимость с языком С++ ; предоставляют улучшенные библиотеки; поддерживают CRT, ATL и MFC , а также предлагают усовершенствованные проверки безопасности времени выполнения (/GS). В новой версии CE появилась возможность «посмертной» отладки. Это предоставляет дополнительные возможности по диагностике потенциальных проблем и оптимизации производительности. В поставку включена утилита, определяющая необходимую лицензию времени исполнения, поддерживающая экспорт отчётов в HTML , что улучшает взаимодействие при работе над проектом и учёт.

Связь с Windows Mobile и Windows Phone

Windows Embedded CE 6.0 не используется в платформе Windows Mobile, однако лежит в основе Zune HD . Следующая версия Windows Mobile, Windows Phone 7 Series , частично основана на Windows Embedded CE 6.0 R3.

В мире Windows никого не удивишь. У нас ее название стало почти нарицательным. А ведь большинство рядовых пользователей совершенно не задумываются о том, что такое «Виндовс»-системы и как они работают. И конечно же, мало кто имеет полное понятие об организационной структуре этих ОС.

Что такое «Виндовс»?

Большинство пользователей привыкло, что при включении компьютера происходит загрузка ОС, в среде которой потом и можно работать с различными программами. Но какова роль самой операционной системы?

Система на компьютере, если не говорить о присутствующих «железных» компонентах, исполняет одновременно и главенствующую, и промежуточную роль. Промежуточная роль состоит в том, что она является связующим звеном между установленным софтом (программным обеспечением), пользователем и «железом». Иными словами, именно через функциональный набор Windows пользователь может запускать различные приложения, которые могут взаимодействовать и между собой. Но вычисления производятся уже центральным процессором с параллельной загрузкой компонентов активных в данный момент программ (не считая собственных процессов, необходимых для работы самой системы) в оперативную память. То есть, что такое «Виндовс»? Мост, связывающий пользователя и прикладные приложения с «железными» компонентами, на которых возложены функции выполнения всех процессов (вычислительных операций, выдачи результатов и их последующей обработки).

С другой стороны, говоря о том, что такое «Виндовс», систему можно сравнить с неким подобием организации человеческого общества. «Виндовс» - это своеобразный руководитель, который раздает указания другим членам рангом ниже, а также устанавливает права или запрещает выполнение определенных процессов.

Немного истории

Но семейство этих ОС не всегда было таким популярным. Раньше, когда на компьютерах практиковались в основном DOS-подобные системы, а для взаимодействия с компьютером нужно было вводить достаточно много команд, ни о каком удобстве работы и говорить не приходилось.

Только в 1985 году, когда была выпущена первая версия Windows 1.01, разработанная по новейшим принципам объектно-ориентированного программирования, пользователи смогли работать с компьютером посредством графического интерфейса, который в дальнейшем стал еще более удобным, но кардинальных изменений не претерпел.

Затем последовали модификации 2.0, 3.х, но окончательно система, какой мы ее видим сегодня, сформировалась только с выходом революционной в то время Windows 95. Далее последовали десктопные версии 98, 2000, Millennium (ME), XP, Vista, 7, 8 и 10 (последняя версия «Виндовс»), не считая огромного количества серверных модификаций.

Основные элементы интерфейса

Но основным элементом со времени появления системы были и остаются окна (откуда, собственно, и произошло название). Они используются для отображения абсолютно всех программ, процессов, и т. д.

В версии 95 появилось еще несколько элементов, без которых сегодня систему представить себе практически невозможно - кнопка «Пуск» (от которой, правда, разработчики попытались отказаться в восьмой модификации, но вернули на место в десятой) и разного рода панели, основной из которых является «Панели задач».

Краткое описание системы «Виндовс» и ее конкурентов

Но почему же именно Windows стала одной из самых распространенных ОС даже при условии того, что только до недавнего времени все модификации были платными? Связано это не только с удобством работы или наличием взломанных версий, большинство которых приходится на долю пользователей постсоветского пространства.

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

Конечно, Windows-системам сегодня на пятки наступают и Linux (система, которая изначально была бесплатной), и Mac OS X. Но первая является достаточно специфичной и особой популярностью пользуется только в узком кругу пользователей, а вот вторая может функционировать только на специальном оборудовании (не зря же платформы Windows относят к разряду PC, а Mac-системы - к Intel). Но самое интересное состоит в том, что конкурирующие ОС не подвержены влиянию вирусов, в то время как в Windows имеется достаточно много прорех в системе безопасности (об этом будет сказано отдельно).

Как узнать версию системы?

Теперь остановимся на том, как посмотреть характеристики «Виндовс» 7-ой версии, например, или любой другой. В каждой системе получить краткую информацию можно через меню ПКМ на значке компьютера с выбором пункта свойств (это знают практически все).

Но для уточнения параметров системы или определения точного номера сборки лучше использовать команду msinfo32, вводимую в консоли «Выполнить», или строку winver, прописываемую в том же меню. Для удобства можно воспользоваться и разделом системы в «Панели управления».

Почему система дает сбои?

Естественно, возможности «Виндовс» очень широки, однако не безграничны. Многие пользователи жалуются на то, что именно эта ОС очень часто дает сбои и вызывает появление огромного количества ошибок.

Тут стоит уточнить, что «глючит» практически в 99,9% случаев не система, а инсталлированное программное обеспечение, или установленное оборудование не соответствует требованиям самой ОС. Те же некорректно установленные драйверы, разные планки памяти и многое другое может являться причиной конфликтов. Кстати сказать, одна из последних модификаций Windows 10 Pro подвержена сбоям в наименьшей степени.

Безопасность и вопросы инсталляции обновлений

Система безопасности, несмотря на множество защитных средств, далеко не на высшем уровне. Это только в Windows 10 Pro и остальных версиях десятой группы появился встроенный антивирус, а до этого приходилось использовать сторонние разработки. Кроме того, достаточно проблемным является файрвол. Да и дыр в системе, через которые могут проникнуть вирусы или вредоносные коды, хватает.

Именно поэтому требуется постоянная установка обновлений «Виндовс». В большинстве случаев выпуск таких апдейтов как раз и связан с латанием дыр в системе безопасности, хотя можно инсталлировать и апдейты для других программных продуктов Microsoft, включая офисные пакеты или специализированные платформы вроде DirectX, .NET Framework, Visual C++ и т. д., которые крайне необходимо для корректной работы множества современных программ, требовательных к системным ресурсам.

Как правило, в любой версии установка обновлений «Виндовс» в автоматическом режиме активирована по умолчанию. Но если происходят сбои, найти и инсталлировать их можно самостоятельно, задав ручной поиск в «Центре обновлений». Но, к сожалению, некоторые апдейты и сами могут вызывать появление ошибок системы вследствие их неправильной или неполной установки или даже по причине того, что они изначально были выполнены не так, как нужно, но это уже вина программистов Microsoft.

Откат и восстановление работоспособности системы

Наконец, многих пользователей интересует вопрос о том, можно ли восстановить «Виндовс». Можно. Начиная с версии ME, этого семейства стали умнее. Выразилось это в том, что на жестком диске создавались (и создаются) резервные копии состояния ОС в определенный момент времени. Кроме того, в современных модификациях можно не ждать автоматизации этих процессов, а создать диск или флешку для быстрого восстановления системы, не говоря уже о полном копировании жестких дисков.

Обычно после появления критических сбоев восстановление стартует в автоматическом режиме без участия пользователя. Если этого не случилось, всегда можно воспользоваться дополнительным меню загрузки, которое во всех системах, кроме Windows 10, вызывается нажатием клавиши F8 при старте, и выбрать загрузку последней удачной конфигурации. Правда, последняя версия «Виндовс» (десятая) для входа в такое меню использует несколько другие пути, хотя при желании можно запросто вернуть использование F8.

Если же и это не помогает, при старте со съемного носителя можно запустить командную строку и восстановить работоспособность ОС, используя для этого специализированный набор инструментов (проверку диска или файловой системы, онлайн-восстановление, перезапись загрузочных секторов или самого загрузчика и т. д.). В некоторых случаях достаточно использовать режим безопасного старта (Safe Mode), который позволяет устранить множество проблем, если система не может загрузиться в нормальном режиме (установка и удаление программ, включая драйверы, удаление вирусов, изменение настроек самой ОС, ручной запуск «Центра восстановления» и т. д.).

Краткие выводы

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