Skip to content
/ kernel Public

(🚧WIP) A POSIX-subset operating system kernel written in Rust. `async` inside.

Notifications You must be signed in to change notification settings

xrs-os/kernel

Repository files navigation

XRS-OS (🚧WIP)

Xrs is a POSIX-subset operating system kernel written in Rust.

Current project team members

  • 0x5459 core developer (he/him)
  • 0x5457 core developer (he/him)

Build

Environment

How to run

git clone https://github.com/xrs-os/kernel.git
cd kernel
python3 bootstrap.py qemu

Inspired by

  • rCore Rust version of THU uCore OS, teaching operating system. Linux compatible.

  • Writing an OS in Rust An os blog. This blog series creates a small operating system in the Rust programming language.

  • Redox Redox is an operating system written in Rust, a language with focus on safety and high performance. Redox, following the microkernel design, aims to be secure, usable, and free.

  • xv6-riscv xv6 is a teaching operating system developed for MIT's operating systems course. It is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.

  • Linux The linux kernel.

TODO list

  • Architecture

    • RISC-V
    • x86/64
    • aarch64
  • Memory management

    • Kernel heap allocator
      • Linkedlist
      • Slab
    • Virtual address mapping
    • Frame allocator
      • Bump
      • Buddy
    • Virtual memory for copy-on-write
  • Task management

    • Executor
      • FIFO
      • HRRN
    • Async Task
  • Filesystem

    • VFS
    • NaiveFS (Like ext2, but simpler)
    • Fat
    • Ext2/3/4
    • MountFS (Mountable FS wrapper)
    • CacheFS (LRU Cacheable FS wrapper)
  • Driver