Заметки Осдева
Книга, созданная как сборник заметок, призванная помочь читателю пройти этапы создания ядра операционной системы с нуля. Написанная во время написания (и переписывания) наших собственных ядер, каждая глава охватывает этап процесса от выбора загрузчика до запуска загруженного ELF в пользовательском пространстве.
Надеемся, вам понравится и вы найдете здесь что-то интересное!
Содержимое этого репозитория также доступно в виде печатной книги , его можно приобрести через Lulu:
- Мягкая обложка : Нажмите здесь.
- Твердый переплет : нажмите здесь
Последняя основная версия содержит PDF-файл, созданный на основе основной версии.
Текущие главы:
- Часть 0: Введение
- Предполагаемые знания
- Об авторах
- Часть 1. Протоколы сборки и загрузки
- Создание ядра
- Загрузчики и протоколы загрузки
- Make-файлы
- Скрипты компоновщика
- Создание загрузочного ISO
- Часть 2. Архитектура и базовые драйверы
- Обзор
- Привет, мир
- Высшая половина ядра
- Глобальная таблица дескрипторов
- Прерывания
- Таблицы ACPI
- АПИК
- Таймеры
- Обзор клавиатуры PS2
- Обработка прерываний клавиатуры PS2
- Реализация драйвера клавиатуры PS2
- Часть 3: Видеовыход
- Фреймбуфер
- Рисование текста во фреймбуфере
- Часть 4. Управление памятью
- Обзор
- Физическая память
- Пейджинг
- Менеджер виртуальной памяти
- Распределение кучи
- Часть 5: Планирование
- Обзор
- Планировщик
- Процессы и потоки
- Замки
- Часть 6: Как добраться до пользовательского пространства
- Обзор
- Переключение режимов
- Обновленная обработка прерываний
- Системные вызовы
- Пример ABI системного вызова
- Часть 7: Межпроцессное взаимодействие
- Обзор
- Общая память
- Передача сообщений
- Часть 8: Файловая система
- Обзор
- Виртуальная файловая система
- Файловая система Tar
- Часть 9: Загрузка и выполнение ELF
- Часть 10: Выходя за рамки
- Дополнительно: Приложения
- Общие сведения об устранении неполадок
- Советы и рекомендации
- Язык Си
- Работаем с НАСМ
- Все о кросс-компиляторах
- Отладка
- Защита памяти
- Полезные ресурсы
- Благодарности
Наши проекты
- DreamOs64: 64-битная ОС, написанная с нуля Иваном Г.
- Northport: еще одна 64-битная ОС с поддержкой SMP и riscv! Дин Т.
- DreamOs: 32-битная ОС, написанная с нуля. Этот проект прекращен, но о нем все же стоит упомянуть. Также Иван Г.
Авторы
- Иван Г (dreamos82) — автор и создатель этих заметок.
- Дин Т (ДеаноБуррито) — Автор.
Лицензия
Содержимое (код, текст и другие ресурсы) этого репозитория лицензируется в соответствии с общественной лицензией Creative Commons Attribution-NonCommercial 4.0, полный текст см. в файле ЛИЦЕНЗИИ.
Хотя эта лицензия не является юридической консультацией, ее можно резюмировать следующим образом:
- Вы можете свободно делиться (копировать и распространять) этот материал на любом носителе и в любом формате.
- Адаптируйте (создавайте ремиксы, трансформируйте и дорабатывайте) материал.
При следующих ограничениях:
- Вы должны дать соответствующую оценку, предоставить ссылку на лицензию и указать, были ли внесены изменения.
- Вы не можете использовать материал в коммерческих целях.
Обратите внимание, что никаких гарантий не предоставляется.