pimnik98 / SayoriOS

SayoriOS - открытое публичное ядро ОС
https://vk.com/sayorios
GNU General Public License v3.0
26 stars 7 forks source link

Рефакторинг кода #129

Closed rigidus closed 4 months ago

rigidus commented 4 months ago

Несмотря на то, что функция init_descriptor_tables вызывает инциализацию как init_gdt так и init_idt, в самом файле gdt.c есть только init_gdt и те функции что ее обслуживают.

Я решил исправить это, добавив в файл gdt.c еще и функцию init_idt, а также те функции что ее обслуживают. В будущем стоит переименовать файл, но пока я воздерживаюсь от этого, чтобы diff был более понятным.

Интересно что файл, с описанием всех структур, которые понадобятся уже есть, это файл descriptor_tables.h и в нем есть необходимые структуры как для init_gdt так и для init_idt. Из чего можно сделать вывод, что разбиение инициализаций idt и gdt - это результат не до конца проведеденного рефакторинга, возможно, вызванного тем, что инициализация idt существенно более "развесистая", чем gdt. Однако они сцеплены вместе и я считаю что разделять их нельзя.

Я приложил схему чтобы работа системными таблицами стала более понятна.

Я также объединил весь контент из README_REALMD.MD и перенес его в README, добавив картинок про запуск в виртуалбоксе, и раздел про настройку запуска в виртуалбоксе и QEMU