Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/klus3kk/melodyos
This repository consists of x86_64 OS made in Rust. The OS will have simple operations and functions like opening and editing files.
https://github.com/klus3kk/melodyos
Last synced: about 13 hours ago
JSON representation
This repository consists of x86_64 OS made in Rust. The OS will have simple operations and functions like opening and editing files.
- Host: GitHub
- URL: https://github.com/klus3kk/melodyos
- Owner: Klus3kk
- Created: 2024-03-18T13:04:22.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-07-31T09:42:07.000Z (5 months ago)
- Last Synced: 2024-08-01T00:10:06.408Z (5 months ago)
- Homepage:
- Size: 12.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MelodyOS
This project aims to develop a simple operating system written entirely in Rust. It serves as an educational tool for understanding low-level programming concepts, operating system internals, and the Rust programming language's capabilities in system programming. The project covers basic OS functionalities including bootstrapping, memory management, task scheduling, and simple file system implementation.## Features
* Bootloader: Custom bootloader to initialize the hardware and load the kernel.
* Kernel: Basic kernel written in Rust, handling essential OS tasks.
* Memory Management: Simple memory allocation and deallocation mechanisms.
* Task Scheduling: Basic round-robin task scheduler to manage multiple processes.
* File System: Minimalistic file system for storing and retrieving data.
* Interrupt Handling: Mechanisms for handling hardware and software interrupts.
* Rust’s Safety: Leveraging Rust's safety features to prevent common bugs such as buffer overflows and null pointer dereferences.
## Technologies### **Programming Language:**
* Rust: Core language for OS development, chosen for its safety and performance.### **Bootloader:**
* x86 Assembly: Used for writing the initial bootloader code.
* GRUB: Common bootloader to load the Rust kernel.
### **Development Tools:**
* QEMU: Emulator for testing the OS without needing physical hardware.
* Cargo: Rust's package manager and build system.
* LLVM: Compiler infrastructure used by Rust.### **Libraries:**
* x86_64: Rust crate for x86_64 architecture support.
* Bootimage: Tool to create bootable disk images for Rust OS kernels.## Useful commands
``` bash
cargo build --target x86_64-melody_os.jsoncargo bootimage
qemu-system-x86_64 -drive format=raw,file=target/x86_64-melody_os/debug/bootimage-melodyos.bin
```