RustOS
Ядро ОС на Rust
Минимальное ядро операционной системы на Rust для архитектуры x86_64.A minimal operating-system kernel in Rust for the x86_64 architecture.Мінімальне ядро операційної системи на Rust для архітектури x86_64.
О проектеOverviewПро проєкт
Операционная система с самого низа — там, где под кодом уже нет никакой ОС, только железо. RustOS — загружаемое ядро для архитектуры x86_64, написанное по известному курсу «Writing an OS in Rust» Филиппа Оппермана.
Реализован вывод текста в VGA-буфер с поддержкой макросов print! и println!, аппаратный мигающий курсор, обработка исключений процессора через таблицу прерываний IDT (breakpoint, double fault), аппаратные прерывания от контроллера PIC — таймер и клавиатура.
Ввод с клавиатуры работает с поддержкой Backspace. Это самый низкий уровень из всего, что я делал: код общается напрямую с регистрами и устройствами.
An operating system from the very bottom — where there's no OS under the code anymore, only hardware. RustOS is a bootable kernel for the x86_64 architecture, written following Philipp Oppermann's well-known 'Writing an OS in Rust' course.
It implements text output to the VGA buffer with print! and println! macro support, a blinking hardware cursor, CPU exception handling via the IDT interrupt table (breakpoint, double fault), and hardware interrupts from the PIC controller — the timer and keyboard.
Keyboard input works with Backspace support. It's the lowest level of anything I've done: the code talks directly to registers and devices.
Операційна система із самого низу — там, де під кодом уже немає ОС, лише залізо. RustOS — завантажуване ядро для x86_64, написане за курсом «Writing an OS in Rust».
Реалізований вивід тексту у VGA-буфер із макросами print! і println!, апаратний курсор, обробка винятків процесора через IDT, апаратні переривання від PIC — таймер і клавіатура.
Ввід із клавіатури працює з підтримкою Backspace. Це найнижчий рівень з усього, що я робив.
ОсобенностиFeaturesОсобливості
- Загружаемое ядро для архитектуры x86_64
- Вывод в VGA-буфер, макросы print! и println!
- Обработка исключений процессора через IDT
- Аппаратные прерывания: таймер и клавиатура (PIC)
- Ввод с клавиатуры с поддержкой Backspace
- A bootable kernel for the x86_64 architecture
- VGA-buffer output, print! and println! macros
- CPU exception handling via the IDT
- Hardware interrupts: timer and keyboard (PIC)
- Keyboard input with Backspace support
- Завантажуване ядро для архітектури x86_64
- Вивід у VGA-буфер, макроси print! і println!
- Обробка винятків процесора через IDT
- Апаратні переривання: таймер і клавіатура (PIC)
- Ввід із клавіатури з підтримкою Backspace