Спонсор: Microsoft
Санкт-Петербургский государственный университет
Опубликован: 13.11.2010 | Доступ: свободный | Студентов: 6692 / 1521 | Оценка: 4.64 / 4.23 | Длительность: 45:08:00
ISBN: 978-5-9963-0495-0
Лекция 29:

Академическая программа Microsoft Shared Source Initiative. Открытое ядро Windows для изучения и исследований (Windows Research Kernel)

< Лекция 28 || Лекция 29: 12 || Лекция 30 >

Пакет учебных ресурсов CRK

Цели проекта CRK:

  • Объединение ресурсов по предмету основной ОС: презентационных материалов, лабораторных работ, заданий, тестов, сервисных программ Sysinternals и средств отладки;
  • Предоставление справочных материалов и примеров внедрения: материалы для углубленных занятий по ОС, образцы исходного кода WRK;
  • Предоставление кратких сведений о лицензировании: условия некоммерческого академического использования; обсуждение возможности изменения и создания проектов на основе CRK.

Пакет CRK основан на материалах 4-го издания книги Windows Internals ("Внутренняя структура ОС Windows") [ 1 ] . Авторы книги — М.Руссинович (M. Russinovich) и Д.Соломон (D. Solomon) при участии профессора Андреаса Польце (Andreas Polze), Институт Хассо-Платтнера, Германия. Книга охватывает все разделы ACM/IEEE-CS OS BOK и другие темы.

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

Всего CRK включает около 100 часов инструктивных и учебных материалов:

Полная версия CRK стала доступной в феврале 2006 года.

Содержимое первого этапа обновлено. Теперь все разделы содержат ссылки на исходный код, который находится на компакт-диске и на академическом сайте [ 2 ] .

Использование CRK.Пакет CRK - самый популярный на настоящее время компонент учебного процесса MSDN Academic Alliance (MSDNAA). Используется преимущественно в лекциях во многих университетах - включается в уже имеющиеся презентации (для студентов старших курсов). На основе CRK может быть также разработан факультативный курс по ОС на базе Windows для аспирантов. CRK полезен для самообразования. Он содержит список дипломных проектов для выпускного курса, а также список тем для исследований, - возможных тем для кандидатских диссертаций. CRK предоставляет богатый набор лабораторных ресурсов (руководства, служебные программы и инструменты).

Исследовательское ядро Windows Research Kernel

Цели уникального проекта по предоставлению академическому сообществу исходных кодов ядра Windows состоят в следующем:

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

Исследовательское ядро WRK основано на исходных кодах ОС NT Windows Server 2003 SP1 и Windows x64. Объем - более 800 тысяч строк исходного кода ядра Windows. Код несколько упрощен, добавлены и упорядочены комментарии, исправлены опечатки. Еще раз отметим, что код WRK представляет собой подлинные спецификации и проектную документацию по Windows типа NT.

Использование WRK.Комплекс WRK может быть использован прежде всего для лабораторных работ по программированию – например, для внесения изменений или создание проектов в целях преподавания и проведения экспериментов. Пример возможного проекта: планирование в ОС на основе round-robin (справедливого раздела).

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

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

WRK также является хорошей основой для перспективных исследований в рамках кандидатских диссертаций.

Проект ProjectOZ

Цель ProjectOZ — создание экспериментальной среды для проектов по операционным системам. Студентам и преподавателям предоставляется среда для проектов ОС с использованием API-интерфейса NT. Обеспечиваются в пользовательском режиме простые абстракции. Применяются реальные функциональные возможности ОС, а не "игрушечное" моделирование. В целях преподавания и проведения экспериментов понижен уровень сложности. В простой среде разработки применяются стандартные средства для сборки, отладки и создания инструментария. Поддерживаются эксперименты, связанные с исследованием принципов работы ОС. Поощряется образ мыслей учащихся, направленный на создание готовых к использованию программных продуктов.

Архитектура ProjectOZ:

  • Нагрузки, тесты, инструментарий
  • Проекты и эксперименты учащихся
  • Первоначальная реализация ОС (небольшой объем кода, побуждает учащихся добиваться более высокого результата);
  • Продвинутый уровень - обеспечиваемые SPACE* абстракции ЦП, диспетчера памяти, ловушек. Разработан на основе проекта SPACE Калифорнийского университета (Санта-Барбара, США).

В области лабораторных работ по программированию ОС UNIX на сегодняшний день представлена лишь в виде "игрушечной" ОС (Minix) или симуляторов Nachos и XINU.

Для сравнения, ProjectOZ – часть программы WAP - предоставляет среду для разработки учебных и исследовательских проектов по операционным системам с использованием ядра Windows - API-интерфейсов NT.

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

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

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

Контактная информация и ссылки

В заключение лекции, в данном разделе приведем контактные ссылки, любезно предоставленные специалистами Microsoft.

  • Пакет CRK доступен для бесплатной загрузки из репозитория Academic Alliance Curriculum Repository на веб-узле MSDN: http://www.msdnaacr.net/curriculum/pfv.aspx?ID=6191
  • ProjectOZ доступен для бесплатной загрузки из репозитория Academic Alliance Repository на веб-узле MSDN http://www.msdnaacr.net/curriculum/pfv.aspx?ID=6547
  • WRK предназначен исключительно для преподавательского состава, доступ защищен паролем. Доступен также для загрузки коллективным подписчикам MSDNAA -кафедрам и факультетам учебных заведений. http://msdn.microsoft.com/subscriptions/.
  • Индивидуальный доступ преподавателей к WRK возможен через портал FacultyConnection http://www.microsoft.com/education/facultyconnection/.
  • Обратная связь со специалистами Microsoft по всем описанным вопросам: compsci@microsoft.com
  • Дополнительные сведения о WAP и по смежным темам содержатся на сайте:
  • http://www.microsoft.com/WindowsAcademic
  • Форумы для обсуждений и общения с группой ядра и архитектуры Windows поддерживается на портале http://forums.microsoft.com/WindowsAcademic .

Ключевые термины

CodePlex (http://www.codeplex.com) – портал, открытый фирмой Microsoft для использования сообществом разработчиков при разработках с открытым исходным кодом.

Parallel Dwarfs (http://paralleldwarfs.codeplex.com) – совместный проект СПбГУ (под руководством проф. В.О. Сафонова) и Microsoft по реализации параллельных алгоритмов решения классических задач прикладной математики ("dwarfs") на основе новейших технологий параллельного программирования Microsoft.

Shared Source – вид условий распространения программного продукта с открытым кодом, при которых, в отличие от Open Source, открытый исходный код имеет кураторов со стороны фирмы, предоставившей его в открытый доступ; кураторы отвечают на вопросы пользователей и исследователей и дают рекомендации по развитию и сопровождению кода.

Shared Source Common Language Infrastructure (SSCLI, Rotor) - академическая версия .NET, распространяемая с открытыми исходными кодами для использования в преподавании и в исследованиях.

Академическая программа Windows (WAP) программа, организованная фирмой Microsoft для изучения на основе открытых исходных кодов операционных систем семейства Windows, включая как новейшие ОС типа Windows NT / 2000 / 2003 / 2008 / Vista / 7, так и версии Windows для встроенных систем.

Исследовательское ядро Windows (Windows Research Kernel) — исходные коды ядра Windows типа NT, аннотированные подробными комментариями, и двоичные файлы, интегрированные со средой для создания и тестирования экспериментальных версий ядра Windows в целях обучения и исследования; часть программы WAP.

Пакет Windows Operating Systems Internals Curriculum Resource Kit (CRK) — пакет презентаций, экспериментов, лабораторных работ, тестов и заданий для включения учебных примеров по ядру Windows в учебные курсы по операционным системам; часть программы WAP.

Проект ProjectOZ — проект создания среды операционных систем с использованием встроенных интерфейсов ядра Windows для выполнения в пользовательском режиме простых и ясных абстракций процессора, диспетчера памяти, механизма ловушек и физической памяти, которые могли бы применяться в экспериментах, связанных с исследованием принципов работы операционных систем; часть программы WAP.

Программа Shared Source Initiative (SSI) —организационная структура, целью которой является предоставление доступа к исходным кодам продуктов Microsoft для преподавания и исследований.

Краткие итоги

Для использования при обучении и в исследованиях открытых исходных кодов продуктов фирмы Microsoft, фирма Microsoft организовала академическую программу Shared Source Initiative (SSI). Она включает более 150 проектов, в ней участвуют более 2 млн. академических разработчиков.

Для развития программы SSI открыт портал CodePlex, поддерживающий проекты с открытым исходным кодом.

Для изучения и развития системы Windows на основе ее открытых исходных кодов фирма Microsoft организовала программу Windows Academic Program (WAP). Целью Microsoft в этой программе является не только более широкая популяризация и более глубокое изучение Windows пользователями, но и привлечение свежих оригинальных идей и молодых талантливых академических разработчиков к тематике операционных систем и системы Windows.

Основные компоненты Windows Academic Program:

  1. исследовательское ядро Windows (Windows Research Kernel – WRK) – аннотированные и документированные исходные коды ядра Windows типа NT;
  2. пакет Windows Internals Curriculum Resource Kit (CRK) – пакет учебных материалов по внутренней архитектуре Windows;
  3. проект ProjectOZ – проект создания среды операционных систем типа Windows для экспериментов и исследований в области ОС.

Эти компоненты свободно доступны на академическом портале Windows. Для преподавателей выпущен также компакт-диск с этими учебными ресурсами.

Пакет учебных ресурсов CRK основан на материале уникальной книги Д. Соломона и М. Руссиновича по внутренней архитектуре ОС Windows.

Исследовательское ядро Windows содержит более 800 тыс. строк исходного кода, основанного на коде ядра ОС Windows Server 2003 SP1 и Windows x64. К исходным кодам прилагаются подлинные спецификации и проектная документация по ядру Windows.

Цель проекта ProjectOZ – создание экспериментальной среды для исследовательских проектов в области операционных систем. Он составлен на основе проекта SPACE Калифорнийского университета в Санта-Барбаре.

В заключение лекции приведены ссылки на описанные академические ресурсы.

Набор для практики

Вопросы

  1. Что такое программа Microsoft Shared Source Initiative (SSI) и каковы ее цели?
  2. Какие программные продукты в статусе shared source выпущены в рамках программы SSI?
  3. Что такое SSCLI / Rotor?
  4. Какой портал открыт фирмой Microsoft для поддержки разработки исследовательских проектов с открытым исходным кодом?
  5. Какая академическая программа открыта фирмой Microsoft для изучения и развития Windows и каковы ее цели?
  6. Из каких компонент состоит программа WAP?
  7. Что такое WRK?
  8. Что такое CRK?
  9. Что такое ProjectOZ?

Упражнения

  1. Создайте собственный проект с открытым исходным кодом на портале CodePlex, опубликуйте на нем краткое описание проекта, открытый исходный код, поддерживайте форум с обсуждением вашего проекта.
  2. Скачайте и изучите проект ParallelDwarfs .
  3. Изучите Windows Research Kernel и подготовьте краткий обзор исходных кодов WRK.
  4. Создайте собственный исследовательский проект на основе ProjectOZ по разработке части операционной системы (например, диспетчера процессов).

Темы для курсовых работ, рефератов, эссе

  1. Обзор программы Microsoft Shared Source Initiative (SSI) (реферат).
  2. Обзор программы Windows Academic Program (реферат).
  3. Обзор WRK (реферат).http://paralleldwarfs.codeplex.com
  4. Обзор CRK (реферат).
  5. Обзор ProjectOZ (реферат).
  6. Создание собственного проекта с открытым исходным кодом на портале CodePlex (курсовая работа).
  7. Изучение проекта ParallelDwarfs (http://paralleldwarfs.codeplex.com) и подготовка его обзора (курсовая работа).
  8. Изучение Windows Research Kernel и подготовка его обзора (курсовая работа).
  9. Создание собственного исследовательского проекта на основе ProjectOZ по разработке части операционной системы, по выбору студента (например, диспетчера процессов) (курсовая работа).
< Лекция 28 || Лекция 29: 12 || Лекция 30 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков