Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Xv6 — простая Unix-подобная операционная система, предназначенная для обучения

Оригинал: "Xv6: A Simple Unix-like Teaching Operating System"
Автор: Thom Holwerda
Дата публикации: 9 ноября 2011
Перевод: Н.Ромоданов
Дата перевода: февраль 2012 г.

Еще в 2002 году в MIT решили, что необходимо начать преподавание курса по инженерии операционных систем. В рамках этого курса студенты должны были написать экзоядро (exokernel) для архитектуры x86, используя для этого систему Sixth Edition Unix (V6) и комментарии Джона Лайонса ( John Lions) в качестве учебного материала. Однако, с этим курсом возникли проблемы.

Самая большая проблема состояла в том, что хотя курс курс был ориентирован на обучение написанию экзоядра для архитектуры x86, система Sixth Edition Unix и комментарии Джона Лайонса относились к области PDP-11 — системы совершенно другого вида. Студенты жаловались на эти различия, и у них также не было желания учиться программировать для PDP-11. Кроме того, система Sixth Edition Unix была написана в мертвом диалекте языка C (еще до языка С Кернигана и Ричи).

Поэтому в MIT решились на резкий поворот: было решено переписать систему Sixth Version Unix для архитектуры x86 на языке ANSI C. Попутно система была улучшена за счет добавления поддержки SMP (многопроцессорности — прим.пер.). На странице проекта указывается, "использование архитектуры x86 в системе Xv6 оказалось более уместным для студенческой практики, чем V6, и позволило унифицировать курс вокруг единой архитектуры", а "добавление многопроцессорности потребовало параллельной обработки с использованием блокировок и потоков (вместо использования специальных однопрецессорных решений, таких как включение / отключение прерываний), повысило актуальность курса. Наконец, написание новой системы позволило чище переписать грубые версии частей системы V6, такие как планировщик и файловая система".

Хотя этот проект был выпущен в 2006 году, я никогда он нем не слышал (до вчерашнего дня), и я уверен, что многие из вас тоже нем не слышали. Конечно, комментарии Джона Лайонса и система V6 невероятно знамениты, но я не уверен, что то же самое относится к системе Xv6.

В любом случае, код доступен всем (git clone git://pdos.csail.mit.edu/xv6/xv6.git) для просмотра и использования под лицензией MIT. Обычно, код не запускается на реальном оборудовании, на самом деле, в MIT его запускают под QEMU.