Опубликован: 24.04.2009 | Доступ: свободный | Студентов: 995 / 223 | Оценка: 4.39 / 4.28 | Длительность: 18:45:00
Специальности: Программист
Лекция 6:

Архитектура встраиваемой ОС реального времени – CE 6.0

Аннотация: Материалы данной лекции посвящены архитектуре встраиваемой ОС реального времени – CE 6.0. Уделяется внимание архитектуре памяти, базовым службам операционной системы, файловым системам, графике, работе с окнами, подсистеме событий. Рассматриваются процессы и потоки, а также затронуты вопросы производительности в реальном времени.
Ключевые слова: phone, Windows, mobile, smartphone, pocket, PC, embedded, системы реального времени, RTO, система общего назначения, ОС реального времени, время реакции, максимум, RAM, браузер, GUI, platform, Visual Studio, arm, MIPS, архитектура, OEM, kernel, USER, ядро, процесс пользователя, API, серверный процесс, device, увеличение производительности, windows ce, ATL, процесс ядра, приоритет потока, XIP, устройство управления памятью, MMU, ISR, квалификатор доступа, интерфейс программирования приложений, database support, storage management, UDFS, compact disc, CDFS, EDB, database engineering, graphics window, сохранение энергии, инверсия приоритетов, IST, tracker, mutex, mutual exclusion, сторожевой таймер, целевой процесс, открытие очереди, message queuing, interrupt service, interrupt request, сигнал прерывания, ISH, UART, PDD, user mode driver, handheld pc, device management, NDIS, pc card, BIB, cold boot, warm boot, прикладной интерфейс программирования, глобальное представление, CryptoAPI, CSP, NTLM, SSP, WOSA, ip security, remote access service, EAP, ICS, redirector, CIFS, transmission unit, dynamic dns, spooler, ISV, отладочное сообщение, device emulation, сборка модулей, binary image, system file, database file, memory block, modl


Motorola Q Phone выполняет Windows Mobile. Базовой технологией Windows Mobile SmartPhone и устройств Pocket PC является Windows Embedded CE. Фотография с разрешения Motorola Corporation.

Архитектура встраиваемой ОС реального времени – CE 6.0

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

Windows Embedded CE является популярной коммерческой операционной системой реального времени, используемой во многих встроенных устройствах. CE не является просто модифицированной версией настольных операционных систем Windows, это совершенно другая ОС. Она была разработана с самого начала в середине 1990-х для предоставления ОС реального времени для встраиваемых устройств с меньшим объемом памяти и мощностью процессора, чем у настольного ПК. CE является также базовой технологией для устройств Windows Automotive и Windows Mobile, включая SmartPhone и Pocket PC.

Мы будем использовать CE в качестве ОС для нашей встраиваемой компьютерной системы eBox 2300 в лабораторных проектах. В этой главе обсуждение будет ограничено самой новой версией CE 6.0.

Время реакции CE в реальном времени быстрее, а размер ядра обычно меньше, чем у настольной ОС общего назначения. Как видно на рисунке 6.1, система CE 6.0 может выполнять максимум 32000 одновременных процессов, каждый с 2 Гбайтами адресного пространства виртуальной памяти. Вспомните, что объем физической памяти, имеющейся в компьютере, не зависит от адресного пространства виртуальной памяти (устройству, выполняющему CE, не требуется 4 Гбайт физической RAM).

Модель пространства виртуальной памяти Windows Embedded CE 6.0

Рис. 6.1. Модель пространства виртуальной памяти Windows Embedded CE 6.0

CE имеет кросс-компиляторы C/C++ и C#, систему сборки, и большой набор инструментов отладки, которые выполняются на настольном ПК. Эти инструменты могут также использоваться в ОС или разработчиками приложений. Также включены браузер, WordPad, служба обмена сообщениями, медиа-плеер, и несколько игр. Настольный ПК обычно соединяется с целевой системой для задач разработки. Специальный инструмент на основе GUI, называемый Platform Builder, который выполняется в Visual Studio, используется для генерации нового ядра ОС. Поддерживается несколько различных семейств популярных встраиваемых процессоров, включая X86, ARM, SHx, и MIPS. Архитектура системы CE показана на рисунке 6.2. Объекты в синем, поставляются вместе с ОС, OEM обычно предоставляют объекты, показанные в зеленом, а прикладные программы предоставляют объекты, показанные в желтом.

Архитектура Windows Embedded CE 6.0

Рис. 6.2. Архитектура Windows Embedded CE 6.0

Архитектура CE создана вокруг двух режимов привилегий, Kernel и User. Фундаментальные системные компоненты, предоставляющие базовые службы в операционной системе, выполняются в привилегированном режиме Kernel, в то время как процессы пользователя (приложения) и библиотеки dll выполняются в непривилегированном режиме User. Привилегированные компоненты включают ядро, менеджера устройств, менеджера файловой системы, и GWES. Привилегированные компоненты ядра всегда присутствуют, независимо от того, какой процесс пользователя выполняется. Один процесс режима пользователя является резидентным в данный момент, изолированным от других процессов режима пользователя и от ядра.

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

Компоненты, выполняющиеся в привилегированном режиме ядра, не создают накладных расходов прерывания ядра и каких-то требований маршализации данных, так как они всегда присутствуют и уже являются привилегированными. Вызовы между компонентами режима ядра делаются непосредственно без вмешательства ядра. Многие вызовы API требуют поддержки от ряда различных системных серверов (filesys, device, kernel, и т.д.) для завершения одного вызова. Эти системные серверы были перемещены из отдельных процессов режима пользователя в ядро в CE6, исключая тем самым большую часть накладных расходов. Это изменение ответственно за значительное увеличение производительности многих вызовов системного API по сравнению с предыдущими версиями операционной системы.

Роман Пархоменко
Роман Пархоменко
Россия, Sankt Piterburg, 182, 1997
Олег Корсак
Олег Корсак
Латвия, Рига