Skip to content

lpicanco/luix-os

Repository files navigation

Luix Operating System

Luix is a hobby operating system being developed in Rust.

It is a 64-bit operating system that supports both x86-64 and AArch64 architectures, and it is heavily inspired by POSIX systems.

Features

  • 64 Bits
  • amd64 and aarch64 support
  • Multicore
  • ACPI

Development

Bootloader

  • Bootloader(powered by Limine)

Kernel

  • Graphic text mode
  • Interrupt Descriptor Table
  • Basic interrupt handling
  • Advanced Configuration and Power Interface(ACPI)
    • Root System Description Table(RSDT)
    • System Description Table(SDT)
    • Multiple APIC Description Table(Madt)
  • Advanced Programmable Interrupt Controller(APIC)
    • Local APIC(Single Processor)
    • Local APIC(Multiple Processors)
    • IO APIC
  • Interrupt handling with stack information
  • Memory management
    • Linked List Allocator
    • Paging
      • Address Translation
      • Page mapping
      • Page unmapping
      • Address space switching
    • Physical Memory Manager
      • Memory Allocation
      • Memory Deallocation
    • Virtual Memory Manager
  • Drivers
    • Keyboard
    • Timer
    • PCI
    • Storage
      • NVMe
  • Global Descriptor Table
  • System Calls
  • Task Scheduler
  • File System
    • FAT32 Read Support
    • Ext2
    • VFS
  • Process Management
    • Process Creation
    • Process Termination
    • Process Scheduling
  • User Mode
  • Syscalls
    • Spawn
  • Multicore
    • Booting on multiple cores
    • Inter-Processor Interrupts(IPI)

User land

  • Init process
    • Mount root filesystem
    • Start shell
  • Shell

Screenshots

Luix screenshot

About

An operating system written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published