osdev.orgРазработка операционных систем
УЧЕБНИКИ (13 августа 2012 года)

Оглавление | Оригинал 


 [Ссылки данной статьи будут заменяться по ходу работы над переводом. Изменения будут вестись в разделе История - п.п.]

История
...

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

 +--- Учебники являющиеся весьма простыми для изучения и повторения. Изучите в первую очередь.
 ++-- Изучение несколько более сложных предметов, но всё ещё достаточно просто. Полезно для простой реализации.
 +++- Изучение продвинутых вопросов. Не рекомендуется для начинающих.
 ++++ Изучение весьма сложных вопросов. Мастер-класс. Удачи!
 ---- Нет оценки.

Содержание
1. Основы ядра
 1.1
Bare bones
 1.2. Детские шаги
2. Управление памятью
3. Графика и видео
4. Загрузка
5. Сборка
6. Компиляторы
7. Портирование ПО

Основы ядра
+--- Учебник GDT - Руководство по GDT
+--- Создание 64-битного ядра - Введение в 64-битные ядра
++-- Установка long mode - Переключение в "длинный" режим (Long Mode)
++++ Учебник разработки ядра от JamesM - Создаём Unix-подобную ОС

Bare bones
 Это учебники типа "bare bones" которые предоставляют вам начальный код
+--- Серия учебников по написанию ядра на языке Ассемблер в реальном режиме
+--- Bare bones - Учебник по написанию основы ядра на Си
++-- C++ Bare Bone - основы ядра на C++
++-- Pascal Bare Bone - Основы ядра на Pascal
++-- Ada Bare bones - Учебник по написанию основы ядра на Ada
++-- FreeBasic Bare Bone - Основы ядра на FreeBasic
++-- Higher Half bare bones - Базовое ядро с подкачкой, которое запускается на 3Гб вместо 1Мб
++-- Higher Half With GDT - Альтернативное ядро запускемое на 3Гб с сегментацией вместо подкачки
+--- GameBoy Advance Barebones - Учебник по написанию основного ядра GBA

Детские шаги
 Как создать базовое ядро на Ассемблере
+--- Шаг 1 - Ваш первый загрузочный сектор
+--- Шаг 2 - Пишем сообщение используя BIOS
+--- Шаг 3 - Обзор машинных кодов
+--- Шаг 4 - Печать на экран без BIOS
+--- Шаг 5 - Прерывания
+--- Шаг 6 - Переход в защищённый режим
+--- Шаг 7 - Нереальный режим
+--- Шаг 8 - 32-битная печать
+--- Приложение А - Дополнительная информация

Управление памятью
+--- Установка подкачки - Учебник рассказывает о создании и поддержке системы с включённой подкачкой
+--- Установка подкачки с PAE - То же но с включение PAE
++-- Пишем менеджер памяти - Учебник о том, как управлять оперативной памятью компьютера
++-- Пишем распределитель страниц - Как написать простой распределитель страниц

Графика и Видео
+--- Двойная буферизация - Удобный способ предотвращения артефактов

Загрузка
+--- Загрузочный CD - Учебник рассматривающий, как создать собственный загрузочный CD
+--- Загрузка El-Torito CD с GRUB - Учебник рассматривает как создать собственный загрузочный CD с GRUB
---- Пишем свой начальный загрузчик - Описываются шаги необходимые для создания собственного начального загрузчика
+--- Пишем начальный загрузчик - базовый учебник по созданию начального загрузчика

Сборка
+--- Makefile - Руководство демонстрирующее как вы можете использовать Makefile
+++- Инструментальные цепочки специфичные ОС - Руководство по адаптации GCC и Binutils для вашей платформы
++-- Сборка среды Microsoft C/C++ Optimizing Compiler на Linux  - Руководство по конфигурирования среды сборки Microsoft C/C++ Optimizing Compiler (включая Visual C++) на UNIX-совместимых платформах
---- CMake Build System - Руководство, демонстрирующее адаптацию KitWare's CMake Build System для сборки вашей ОС

Компиляторы
+--- Кросс-компилятор GCC - Руководство которое поможет вам создать компилятор подходящий для разработки ОС
+--- Кросс-компилятор GDC - То же самое только для языка D

Портирование ПО
++-- Портирование Newlib - Руководство портирования общей библиотеки Си на вашу операционную систему
---- Использование Libsupc++ - руководство по портированию libsups++ для получения больших возможностей C++
+++- Портирование Python - Руководство по компиляции python для вашей ОС