arrayJY / os

A toy operating system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OS

A toy x86-64 operating system.

This project is highly inspired by rCore-Tutorial-v3/blog_os/xv6.

Features

  • Virtual memory
  • Dynamic memory management
  • Multiple processes management
  • Non-preemptive scheduling (FCFS)
  • An interactive shell in user space

Run

You can run os with qemu-system-x86_64.

cargo install cargo-binutils
rustup component add llvm-tools-preview
cd user
make
cd ../os
cargo install cargo-xbuild
cargo install bootimage
cargo xrun

It will run a interactive shell. You can run several user programs with it.

Work in Progress

  • Process concurrency
  • Process communication
  • File System

LICENSE

MIT © arrayJY

About

A toy operating system.

License:MIT License


Languages

Language:Rust 95.3%Language:Assembly 3.8%Language:Makefile 0.8%