Итак, теперь у нас есть ядро, которое загружается и запускает бесконечный цикл. Самое время вывести что-нибудь интересное на экран. Вместе с портами ввода-вывода, монитор будет нашим главным союзником в процессе отладки ядра.
Урок 2. Приступаем к работе.
UPD. В данный урок были внесены изменения связанные с созданием образа диска для ВМ с ядром и загрузчиком. Теперь содержание статьи соответствует действительности.
2.1. Код для загрузки
Итак, настало время писать код. Хотя основной язык разработки ядра - С, есть некоторые модули, которые просто необходимо написать на языке ассемблера. Один из таких модулей - код инициализации и загрузки ядра.Урок 1. Настройка окружения.
Нам нужен фундамент на котором мы начнем создание нашей ОС. Во-первых, предполагается что Вы используется *nix систему с набором утилит GNU. Под windows Вы можете использовать Cygwin, однако тогда написание сценариев сборки полностью на Вашей совести. Также у Вас должен быть установлен загрузчик GRUB2 и должна работать команда grub2-mkrescue.
GNU OWN OS
Сокращенно gOWNOS.
То есть собственная операционная система - клон *nix.
Здесь я хочу опубликовать цикл статей, рассказывающих как написать собственный клон операционной системы UNIX.
Большая часть материала основана на переводе J. Molloy tutorials, а также более раннем Bran's Kernel Development Tutorial.
Статьи я буду выкладывать по мере их готовности раз в 3-4 дня. Всего предполагается, что будет 10 статей + введение.
Будут рассмотрены такие вопросы как:
- Взаимодействие с загрузчиком GRUB;
- Создание окружения ядра;
- Работа с аппаратными прерываниями;
- Организация работы с VFS;
- Реализация многозадачности.
Полезные ссылки:
Intel manuals.
OSDev.org Wiki и OSDev.org forum.
OSDever.net
Код примеров планируется размещать на github.
Первая статья.
Подписаться на:
Сообщения (Atom)