Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection 17.doc
Скачиваний:
10
Добавлен:
13.04.2015
Размер:
156.67 Кб
Скачать

Организация памяти

Организация памяти в handheld-компьютерах несколько отличается от привычной организации памяти в desktop-компьютерах. Операционная система и набор предустановленных программ записаны в постоянной памяти (ROM). Память произвольного доступа (RAM) поделена на дисковую и оперативную.

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

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

Обработка прерываний

Обработка прерываний - наиболее важная часть операционной системы реального времени. В Windows CE обработка прерываний разделена на два этапа: ISR (процедура обработки прерывания) и IST (поток обработки прерывания). При наступлении события, требующего прерывания активизируется соответствующая ISR, чья основная задача - получить от аппаратуры необходимую информацию и сохранить ее в памяти. На этом нахождение процессора в режиме прерывания заканчивается, и дальше обработка прерывания осуществляется в IST. Такая двухступенчатая схема позволяет существенно уменьшить задержки обработки прерываний (interrupt latency).

От операционной системы реального времени требуется также предсказуемость поведения, и, в первую очередь, наличие оценок времени выполнения ее основных функций. Конкретные количественные оценки Microsoft не публикует, однако приводит некоторые качественные характеристики. В частности, по заявлениям разработчиков Windows CE, системные вызовы ядра (KCALL) содержат только циклы с фиксированным количеством повторов (то есть вызовы ядра могут быть представлены в виде кода вообще без циклов), а это значит, что можно получить достаточно точные верхние оценки времени выполнения этих функций вне зависимости от входных аргументов. Для экспериментальной оценки параметров разрабатываемой системы реального времени имеются специальные инструменты в составе Windows CE Embedded Toolkit.

Средства разработки

Сначала Microsoft поставляла широкий спектр достаточно удобных средств разработки для Windows CE: Windows CE Toolkit for Visual C++ 6.0, Windows CE Toolkit for VisualBasic 6.0, Windows CE Toolkit for Visual J++ 1.1. Для разработчиков встроенных систем основным инструментом является Windows CE Embedded Toolkit for Visual C++ 6.0 (ETK) ETK поражает прежде всего своим размером: он поставляется на трех компакт-дисках и при полной установке требует 1,6 Гбайт свободного дискового пространства. Большую часть этого пространства занимают библиотеки, из которых собирается Windows CE, скомпилированные для нескольких процессоров. Кроме этих библиотек в ETK входят кросс-платформные компиляторы, утилиты для построения Windows CE и создания образа операционной системы (этот образ предназначен для записи в ПЗУ), Windows CE SDK, Windows CE DDK, документация и примеры. Помимо отладчиков, которые входят в SDK, ETK содержит средства измерения производительности разрабатываемой системы, в том числе инструментальное ядро.

С появлением такой системы как Visual Studio .NET появился новый язык программирования Visual C#, который предоставляет широчайшие средства для разработки приложений, в том числе и для Windows CE / Windows Mobile. В комплект поставки Visual C# входит специальный эмулятор, который позволяет отлаживать приложения для карманных компьютеров прямо в среде Windows 2000/XP. Также можно вести разработку и на Visual C++ .NET или Visual Basic .NET, с использованием соответствующих новых библиотек, аналогичных тем, что указаны выше.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]