Operating Systems: From 0 to 1 — учимся писать ОС по-настоящему
Репозиторий давно не обновлялся
Последнее обновление было 2 года назад.
Когда в последний раз вы задумывались, как на самом деле работает ваш компьютер? Не просто "нажимаете кнопку — получаете результат", а что происходит на уровне процессора, памяти и аппаратных прерываний? Проект os01 — это не очередной учебник по операционным системам, а полноценный практикум для тех, кто хочет понять компьютер до самых его основ.
Почему этот проект особенный
Большинство материалов по операционным системам учат теории, но не дают реальных навыков работы с "железом". Автор os01 пошел другим путем:
- Обучение через практику — вы будете писать код, читая документацию к процессору, как это делают профессиональные разработчики ОС
- От простого к сложному — от базовых концепций электричества до управления процессами через TSS
- Работа с первичными источниками — Intel Manual становится вашим основным справочником
"Вы даете человеку рыбу — и кормите его на день. Вы учите его ловить рыбу — и даете ему занятие на всю жизнь."
Эта философия пронизывает всю книгу. Вместо готовых решений — инструменты для самостоятельного изучения.
Что вы освоите
-
Работа с аппаратным обеспечением
- Чтение и применение спецификаций Intel
- Написание кода без стандартной библиотеки
- Отладка на голом железе с QEMU и gdb
-
Глубокое понимание x86 архитектуры
- Ассемблер не как абстракция, а как инструмент управления процессором
- Организация памяти и работа с прерываниями
-
Полный цикл создания ОС
- От загрузчика до планировщика процессов
- Реализация драйверов для базового ввода-вывода
Для кого это подойдет
- Любознательные разработчики, которые хотят выйти за рамки высокоуровневых языков
- Студенты компьютерных специальностей, ищущие практическое применение теории
- Системные программисты, желающие углубить понимание аппаратного уровня
Как устроено обучение
Книга разделена на три части:
-
Фундамент (8 завершенных глав):
- Основы электричества и компьютерной архитектуры
- x86 ассемблер через призму Intel Manual
- Создание исполняемых файлов для bare metal
-
Практикум (в разработке):
- Реализация компонентов ОС как учебные задания
- Работа с прерываниями и управление процессами
-
Дальнейшее развитие:
- Переход к изучению Linux Kernel
- Работа с OSDev Wiki как следующая ступень
Реальный пример из книги
В главе 4 автор показывает, как использовать Intel Manual Volume 2 для написания ассемблерного кода. Вместо сухого перечисления инструкций — методика работы с технической документацией.
; Пример работы с портами ввода-вывода
mov dx, 0x3F8 ; адрес COM-порта
in al, dx ; чтение байта
out dx, al ; запись байта
Начальные требования
- Базовые знания C (указатели, структуры, работа с памятью)
- Опыт работы в Linux командной строке
- Элементарные понятия об электричестве (можно изучить параллельно)
Почему стоит попробовать
После прохождения первых двух частей вы:
- Научитесь читать и понимать техническую документацию производителей
- Сможете отлаживать код без помощи Google
- Поймете, как на самом деле работают высокоуровневые абстракции
Проект активно развивается — уже сейчас доступно 8 глав готового материала с практическими заданиями. Для тех, кто хочет заглянуть под капот современного компьютера, это один из лучших способов сделать это самостоятельно.