IT-пенсионеры
IT-пенсионеры

В MIT учат операционным системам так: дают живое ядро Unix и просят его сломать

В MIT учат операционным системам так: дают живое ядро Unix и просят его сломать
В большинстве вузов операционные системы изучают по слайдам.


Студент слушает про процессы, виртуальную память и планировщик, рисует схемы на экзамене и в итоге так и не видит, как это работает внутри. В MIT пошли другим путём. Там студенту выдают полностью рабочее ядро в духе Unix и предлагают самому в нём ковыряться, ломать и переписывать.

Это ядро называется xv6. По сути это переосмысление шестой версии Unix 1975 года, переписанное на современном C под многопроцессорные системы RISC-V. Оригинальный Unix V6 был отличным учебным материалом, но устарел и опирался на железо, которого давно нет. xv6 сохраняет идеи оригинала, но запускается на современной архитектуре и читается куда легче.

Главное, что подкупает, это размер. Всё ядро занимает около шести тысяч строк. Это объём, который реально прочитать целиком за разумное время, а не абстрактная гора кода, в которой теряешься на первой неделе. Здесь на месте процессы, системные вызовы, виртуальная память, файловые дескрипторы, каналы и планировщик. Всё это можно открыть, прочитать и тут же поэкспериментировать.

Хорошо видно это на примере каналов. Реализация чтения из pipe в файле kernel/pipe.c укладывается примерно в пятнадцать строк. Если канал пуст, читатель засыпает и ждёт. Как только писатель добавляет данные, читателя будят. Блокировка, засыпание и пробуждение согласованы всего в паре десятков строк, и этот кусок кода объясняет про синхронизацию больше, чем целая лекция про мьютексы и условные переменные.

Именно так и стоит разбираться в операционных системах, когда хочешь понять, как они работают на самом деле, а не как это описывают на высоком уровне. Отличная новость в том, что всё это выложено в открытый доступ и бесплатно. Книга и исходники лежат на сайте курса MIT 6.828, и любой желающий может пройти тот же путь, что и студенты.

https://pdos.csail.mit.edu/6.828/2025/xv6/book-riscv-rev5.pdf

Комментариев пока нет.