Skip to content

mila411/ros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS (Rust Operating System)

A simple educational operating system for my use that provides basic OS functionality implemented in Rust.

Functions

Boot process

  • Multi-boot support
  • GDT/IDT configuration
  • Initialize memory management

Device management

  • Interrupt controller (PIC) configuration
  • Keyboard driver
  • VGA driver (text mode)

Memory Management

  • Paging implementation
  • Heap allocator
  • Memory map management

Shell functions

  • Basic command line processing
  • Command History
  • The following commands are implemented: help: display command list
    • help: display command list
    • clear: clear the screen.
    • exit: exit the system.
    • ls: display directory contents.
    • pwd: display current directory
    • cd: Move a directory
    • mkdir: Create a directory
    • touch: Create a file
    • time: Display current time (time zone support)

File System

  • In-memory file system
  • Basic file operations
  • Directory hierarchy

What you need

  • Rust (nightly)
  • QEMU
  • cargo-bootimage

Setup

## Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install nightly toolchain
rustup toolchain install nightly
rustup component add rust-src --toolchain nightly
rustup component add llvm-tools-preview

# Install QEMU
brew install qemu
build

cargo build

## run

cargo run

Development status

  • Boot process
  • Interrupt handling
  • Keyboard Input
  • Shell Basics
  • Basic file system functions
  • Time display with time zone support

Unimplemented

  1. Shell Functions
  • Tab completion
  • Piping of commands
  • Input/output redirection
  • Editing input with cursor keys
  • Alias setting for commands
  1. File system
  • Reading file contents (cat command)
  • Deleting files (rm command)
  • Moving/renaming files (mv command)
  • Managing file permissions
  • File system persistence
  1. Process management
  • Process Creation and Execution
  • Interprocess Communication
  • Background Execution
  • Job Control
  1. Memory management
  • Swap space management
  • Memory fragmentation prevention
  • Virtual memory expansion
  1. Device management
  • Serial port communication
  • Mouse drivers
  • Network functions
  • Sound functions
  1. System Management
  • User Management
  • Log function
  • Save/Load system settings
  • Improved shutdown handling
  1. Testing
  • Expanded unit testing
  • Additional integration testing
  • Performance testing
  1. Security
  • Access Control
  • Memory Protection
  • System Call Restrictions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages