Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
и имеет размер 80*25 байт
outb(0x3D5, (position & 0xFF) as u8)
out dx, alСегменты и их типы (код, данные, трапы, гейты) должны быть описаны в глобальной дескрипторной таблице GDT, виртуальный адрес и размер которой загружается в регистр GDTR
Интересно, а транслятор сможет это оптимизировать
Или в локальной LDT.
Если мы собираемся использовать не плоские глобальные сегменты, а выдавать каждой задаче свои, то места в GDT всем не хватит. Разместив дескрипторы в LDT (скажем, код-данные-стек-служебное что-то), мы займем в GDT только одну ячейку и 4 — в LDT данной задачи.
const fn еще не в релизе
Так они уже стабильны, правда не очень много в с ними можно делать
https://blog.rust-lang.org/2019/02/28/Rust-1.33.0.html
Да, все через GRUB. Начальная загрузка пока для меня выглядит сложной, так как я ещё не разобрался на приличном уровне с носителями и файловыми системами, чтобы корректно прочитать и загрузить образ. Думаю, что когда доберусь до реализации работы с HDD, можно будет и в сторону своего загрузчика посмотреть
OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT