Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Самостоятельная работа 7:

Практическое изучение Windows Research Kernel

Аннотация: Целью лабораторной работы является практическое освоение Windows Research Kernel (WRK) – исходных кодов исследовательского ядра Windows, предназначенных для более глубокого изучения архитектуры Windows и исследований в области операционных систем. Необходимый вводный и общий теоретический материал по архитектуре и особенностям WRK представлен в данного курса. Данная лабораторная работа является лишь начальным практическим ознакомлением с пакетом WRK, использование которого в обучении операционным системам само по себе может стать основой для семестрового или полугодового курса и (или) семинара по ОС. Методы использования WRK, а также основы внутренней архитектуры Windows описаны в книге . Пакет WRK доступен для скачивания преподавателями, аспирантами и студентами, зарегистрированными с помощью Microsoft Passport, по ссылке с академического сайта Microsoft. Размер дистрибутива для скачивания – 14 мегабайт.

Аппаратура и программные инструменты, необходимые для лабораторной работы

Настольный или портативный компьютер с одной из версий операционной системы Microsoft Windows

Продолжительность лабораторной работы

2 академических часа

Обзор Windows Research Kernel

Пакет WRK включает исходный код ядраWindows XP x64 и Windows Server 2003 SP1 с окружением для сборки и тестирования экспериментальных версий ядра Windows для использования в целях изучения и преподавания.

WRK включает исходные коды для следующих компонент:

  • Processes – Процессы
  • Threads -Потоки
  • LPC – Локальные вызовы процедур
  • Virtual memoryВиртуальная память
  • Scheduler - Планировщик
  • Object manager – Менеждер объектов
  • I/O manager – Менеджер ввода-выводв
  • Synchronization - Синхронизация
  • Worker threads – Рабочие потоки
  • Kernel heap manager – Менеджер кучи ядра
  • Прочая функциональность ядра (NTOS)

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

WRK - Детали

Пакет Windows Research Kernel содержит исходные коды ядра Windows (NTOS).

NTOS реализует основные функции ОС для:

  • Управления процессами
  • Управления потоками
  • Управления виртуальной памятью и кэш-памятью
  • Управления вводом-выводом
  • Управления реестром
  • Функцй исполнительной подсистемы ядра (executive), таких, как куча ядра и синхронизация
  • Менеджера объектов
  • Механизма локального вызова процедур
  • Монитора безопасности
  • Низкоуровневого управления процессором (планирование потоков, асинхронные и отложенные вызовы процедур, обработка прерываний, обработка исключений)

Компонента Hardware Abstraction Layer, файловые системы, сетевые стеки и драйверы устройств реализованы отдельно от NTOS и загружаются в режиме ядра как динамически линкуемые библиотеки. Исходные коды для этих динамических компонент не включены в WRK. Однако некоторые из них доступны в различных инструментальных наборах, опубликованных фирмой Microsoft, таких, как Installable File System Kit и Windows Driver Development Kit.

Пакет WRK включает значительную часть исходных кодов ядра NTOS из самых ноых версий Windowsподдерживающих архитектуру x64. Исходные коды ядра, не включенные в WRK, относятся, главным образом, к компонентам Plug and Play (динамическому подключению устройств), управлению электропитанием, верификатору устройств, интерфейсу отладки ядра и виртуальной машине DOS (выполняющей DOS-приложения).

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

Пакет WRK включает окружение для сборки и тестирования и бинарные коды для отсутствующих компонент, которые могут быть использованы для сборки полнофункционального ядра NTOS, инсталлируемого в системах Windows Server 2003 для x86/x64 и Windows XP x64.

Скачивание и установка WRK

Скачайте по ссылке [2] пакет Windows Research Kernel и распакуйте полученный архив.

Структура директорий WRK

Войдите в базовую директорию WindowsResearchKernel-WRK.

Вы увидите в Windows Explorer структуру директорий пакета WRK ( рис. 39.1):

 Структура директорий пакета WRK

увеличить изображение
Рис. 39.1. Структура директорий пакета WRK

Файл README содержит краткое описание структуры пакета.

Файл LICENSE содержит подробное описание лицензии, на основе которой доступен WRK.

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

Откройте файлы README и LICENSE и ознакомьтесь с их содержимым.

Весь материал для изучения в пакете WRK представлен на английском языке.

Ознакомьтесь с содержимым базовых директорий пакета WRK:

  1. Директория NTDesignWorkbook содержит уникальный материал – фактически это подробные спецификации архитектуры всех компонент ядра Windows. Это – "святая святых" фирмы Microsoft, как и сами исходные коды ядра Windows. Приведение в доступный для изучения вид этих спецификаций для академического сообщества программистов потребовало, по признанию специалистов Microsoft, нескольких лет работы.
  2. Директория VirtualPC2004S1 содержит дистрибутив инструмента Microsoft под названием Microsoft Virtual PC. Данный инструмент позволяет организовать на Вашем компьютере виртуальную машину, в которую Вы можете инсталлировать любую операционную систему, в том числе – экспериментальную ОС, являющуюся результатом Ваших экспериментов в WRK. В качестве отдельного практического занятия, можете инсталлировать Microsoft Virtual PC и в полученную виртуальную машину инсталлируйте другую операционную систему, например, другую версию Windows или какую-либо версию Linux.
  3. Директория WRK-v1.2 содержит собственно исходные коды ядра Windows. Их струкуру подробнее рассмотрим немного позже.

Ознакомление со структурой исходных кодов ядра Windows

Войдите в директорию WRK-v1.2.

Изучите структуру директорий ядра, изображенную на рис. 39.2 , краткое описание которой приведем ниже.

 Структура директорий исходного кода исследовательского ядра Windows

увеличить изображение
Рис. 39.2. Структура директорий исходного кода исследовательского ядра Windows

Директория public\ содержит include (заголовочные, .h) – файлы, используемые во всем исходном коде системы.

Например, заголовочный файл public\ddk\inc\mountdev.h содержит описание интерфейсов между точкой монтирования (mount point) и монтируемыми устройствами. Ознкомьтесь с содержимым файла. Вы убедитесь, что он (как и другие коды WRK) хорошо самодокументирован, однако для более глубокого понимания требуется подробное изучение на основе книги [ 7 ] .

Директория tools содержит инструменты для сборки из исходных кодов, например, утилиту nmake. Ознакомьтесь с содержимым данной директории.

Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков
Павел Маляр
Павел Маляр
Россия, Барнаул, АлтГТУ им. И.И. Ползунова, 2019