Skip to content

Commit 8a852d0

Browse files
committed
update readme
1 parent 8439ee4 commit 8a852d0

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
commit 8439ee4ae7050884e59307cd18c8db3779218440
2+
Author: Alexeev Bronislav <[email protected]>
3+
Date: Mon Sep 1 02:51:27 2025 +0700
4+
5+
update readme
6+
17
commit 7eb2fbde969c6f1fbdd0495cd3a5eb6a40beb022
28
Author: Alexeev Bronislav <[email protected]>
39
Date: Mon Sep 1 02:41:37 2025 +0700

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,29 @@ make debug_fda # образ диска fda
143143

144144
## Как работает загрузка
145145

146-
1. **BIOS** загружает первый сектор диска (512 байт) по адресу 0x7C00
147-
2. **Загрузчик** инициализирует стек, загружает GDT и переключается в защищённый режим
148-
3. **Ядро** загружается по адресу 0x1000 и получает управление
149-
4. **Ядро** инициализирует драйверы, менеджер памяти и командную оболочку
146+
Загрузчик KintsugiOS — это критически важный компонент, написанный на ассемблере, который выполняет следующие задачи:
147+
148+
+ Инициализация и переход в защищенный режим: Загрузчик начинает работу в реальном режиме (16-бит), инициализирует стек, загружает GDT (Глобальную таблицу дескрипторов) и переключает процессор в 32-битный защищенный режим.
149+
+ Загрузка ядра: С помощью функций BIOS загрузчик считывает ядро с диска в память по адресу 0x1000.
150+
+ Подготовка к выполнению ядра: После перехода в защищенный режим управление передается ядру.
151+
152+
Компоненты загрузчика:
153+
154+
+ bootsector.asm — основной загрузочный сектор, который загружается BIOS по адресу 0x7c00. Устанавливает стек, загружает ядро и переключается в защищенный режим.
155+
+ diskload.asm — содержит функцию disk_load для чтения секторов с диска с помощью прерываний BIOS.
156+
+ gdt.asm — определяет GDT (Глобальную таблицу дескрипторов) для защищенного режима, включая дескрипторы для сегментов кода и данных.
157+
+ switch_to32.asm — код переключения в защищенный режим, включая отключение прерываний, загрузку GDT и установку бита в регистре cr0.
158+
+ puts_chars.asm и puts_chars32.asm — функции для вывода строк в реальном и защищенном режимах соответственно. В защищенном режиме вывод осуществляется напрямую в видеопамять VGA.
159+
+ puts_hex.asm — функция для вывода чисел в шестнадцатеричном формате (используется для отладки).
160+
+ kernel_entry.asm — точка входа для ядра, которая вызывает функцию kmain из ядра.
161+
162+
Процесс загрузки:
163+
164+
1. BIOS загружает первый сектор диска (512 байт) по адресу 0x7c00 и передает управление на его начало.
165+
2. Загрузчик инициализирует стек и выводит сообщение о запуске в реальном режиме.
166+
3. Загрузчик загружает ядро с диска в память по адресу 0x1000, используя функции BIOS.
167+
4. Загрузчик загружает GDT и переключает процессор в защищенный режим.
168+
5. В защищенном режиме загрузчик выводит сообщение об успешном переходе и передает управление ядру по адресу 0x1000.
150169

151170
## Команды оболочки
152171

0 commit comments

Comments
 (0)