Skip to content

Soroushsrd/CelestOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Based OS Kernel

A bare-metal operating system kernel written in Rust, following the excellent Writing an OS in Rust blog series by Philipp Oppermann.

Current Features

  • VGA Text Mode: Custom VGA buffer implementation for kernel output
  • Exception Handling: Complete Interrupt Descriptor Table (IDT) setup
  • Double Fault Prevention: Task State Segment (TSS) with Interrupt Stack Table (IST)
  • Serial Communication: UART support for debugging and testing
  • Custom Test Framework: Integration and unit testing without std library
  • Memory Safety: Volatile memory access and proper stack overflow protection

Building and Running

Prerequisites

  • Rust nightly toolchain
  • bootimage crate for creating bootable disk images
  • QEMU for emulation

Setup

# Install required components
rustup component add rust-src
cargo install bootimage

# Build the kernel
cargo build

# Run in QEMU
cargo run

# Run tests
cargo test

Configuration

The project uses custom target specification (x86_64-os.json) and requires:

  • #![no_std] - No standard library
  • #![no_main] - Custom entry point
  • Nightly Rust features for interrupt handling

License

This project is created for educational purposes following the MIT-licensed blog series.

Work in Progress

About

Operating system written in rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages