
Процессоры, поддерживаемые в etk
Производитель |
Процессор |
AMD |
46DX5, K6, SC400 |
Hitachi |
SH3 |
Intel |
486, Pentium |
Motorola |
MPC821 |
NEC |
Vr410x, Vr4200, Vr4300 (семейство MIPS) |
Philips |
Poseidon (семейство MIPS) |
Toshiba |
TX3912 (семейство MIPS) |
ETK позволяет переносить Windows CE на платформы, работающие под управлением процессоров из семейств MIPS, SH, x86 и PowerPC (см. таблицу). Построение операционной системы с помощью ETK в общем случае состоит из следующих шагов:
-
перенос на новую платформу загрузчика Windows CE и утилиты ppsh, обеспечивающей загрузку бинарных файлов через параллельный порт;
-
разработка и реализация OAL;
-
перенос необходимых встроенных и дополнительных драйверов;
-
построение операционной системы Windows CE из поставляемых библиотек и разработанных и перенесенных частей;
-
дополнение операционной системы необходимыми приложениями;
-
создание образа построенной системы для ПЗУ;
-
загрузка образа, тестирование и отладка.
На сегодняшний день Windows CE Embedded Toolkit содержит наиболее полную подборку технической информации о Windows CE и некоторые исходные тексты. От себя могу сказать, что ETK существенно помогла мне при создании русификатора ParaWin CE именно благодаря тому, что можно посмотреть на операционную систему в "разобранном" виде и воспользоваться некоторыми полезными утилитами.
Real-Time
По расчетам Microsoft, одно из основных приложений Windows CE - это автоматизированные системы управления. Предлагается использовать Windows CE даже в системах управления реального времени. Для этого внедрены решения, которые должны обеспечивать лучшую реакцию на внешние прерывания и возможность достаточно точно предсказывать задержки, возникающие при обработке прерываний. Кроме того, Microsoft опубликовала верхние оценки для времени работы различных системных вызовов, для времени переключения контекстов потоков и т. п.
Обработка прерываний в Windows CE делится на два этапа: ISR (Interrupt Service Routing) и IST (Interrupt Service Thread), что, соответственно, на русский переводится как "процедура обработки прерывания" и "поток обработки прерывания". Разделение обработки на два этапа позволяет более эффективно распределять ресурсы процессора.
При таком разделении обработка прерываний происходит следующим образом: для каждой линии запроса прерывания IRQ в ядре существует свой поток IST, который обычно имеет максимальный приоритет. При поступлении запроса на прерывание, управление передается в процедуру ISR, вся работа которой состоит в активизации соответствующего потока IST.
После выхода из процедуры обработки прерывания система готова для реакции на следующее прерывание. Основная же работа по обработке прерываний происходит, когда планировщик задач предоставляет время потокам IST.
Модульность
Одной из особенностей конструкции Windows CE является модульность. Операционная система поделена на модули, а модули, в свою очередь, поделены на компоненты. С помощью Microsoft Windows CE Embedded Toolkit for Visual C++ разработчики систем типа H/PC и автоматизированных систем управления могут создавать для своих продуктов специальные версии Windows CE. Сущность подобных специализированных версий состоит в том, что из всех компонентов выбираются лишь те, которые реально необходимы в конструируемой системе (ссылка на таблицу).
Конфигурация |
Входящие модули |
ROM (Kb) |
RAM (Kb) |
Стек (Kb) |
Минимальная |
модуль ядра, модуль файловой системы, модуль поддержки реестра, поддержка ввода с клавиатуры, поддержка ввода с чувствительного экрана, под-держка звука, модуль управления аккумуляторами |
352 |
20 |
8 |
Минимальная графическая поддержка |
Минимальная конфигурация + поддержка контекста графического устройства и базовые графические примитивы |
670 |
711 |
9 |
Минимальные коммуникационные возможности |
Минимальная конфигурация + коммуникационный модуль (TCP/IP, PPP, TAPI, Serial, NDIS, ARDA) |
1203 |
119 |
14 |
Пользовательский интерфейс Windows |
Минимальная + модуль поддержки функций графического интерфейса Windows |
1504 |
857 |
25 |