Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

RU | Добро пожаловать в Иней!

Это мой небольшой экспериментальный проект, где я пытаюсь сделать операционную систему преимущественно на Rust.

Несмотря на то, что проект в большей степени учебный и просто хобби, я стараюсь держать прицел на высокое качество кода.
Если у вас внезапно появится желание потратить время и добавить критики, то я вас жду в разделе Issue.

Доступные архитектуры: x86 (i386)
Планируется: x64 (amd64), ARM 32 (AArch32), ARM 64 (AArch64)

Какая работа выполняется?

  • Инициализация Global Descriptor Table (GDT)
  • Прерывания: Interrupts Descriptor Table (IDT), Programmable Interrupts Controller (PIC), InterruptsManager (регистрация и диспатчинг прерываний)
  • Базовая работа с VGA
  • Базовая работа с Serial
  • Programmable Interval Timer (PIT)
  • Запуск и выполнение процессов, кооперативная многозадачность
  • Работа с клавиатурой
  • Интерактивный Shell
  • Вытесняющая многозадачность, планировщик задач

  • Реализация стандарта POSIX

Сборка и запуск

Вот, что вам требуется для сборки и запуска:

Объект Описание
Linux/WSL Ваша среда сборки
Rust +Nightly Ночная сборка Rust
GNU Make Скрипты сборки
GNU Linker ld Линковка
NASM Компилятор NASM
GRUB Создание ISO и загрузчик
QEMU Виртуальная машина

Чтобы сделать сборку в Debug-режиме и запустить, вам требуется выполнить лишь:

$ make all
$ make run

Для сборки в Release-режиме, вам необходимо отредактировать Makefile и изменить значение CONFIGURATION на release. Команды остаются прежними.

EN | Welcome to the Hoar!

No translation yet