All Projects β†’ marvinborner β†’ Melvix

marvinborner / Melvix

Licence: MIT license
πŸ’» A small operating system written from scratch

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Melvix

Aqeous
(Inactive, Checkout AvanaOS, Rewrite of this) This is a New Operating System (Kernel right now). Made completely from scratch, We aim to make a complete OS for Learning purpose
Stars: ✭ 23 (-66.67%)
Mutual labels:  osdev, operating-system, libc, qemu
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-23.19%)
Mutual labels:  osdev, operating-system, libc
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-71.01%)
Mutual labels:  osdev, operating-system, qemu
Dgos
Operating System
Stars: ✭ 90 (+30.43%)
Mutual labels:  osdev, operating-system, qemu
Mos
A hobby operating system developed from scratch
Stars: ✭ 169 (+144.93%)
Mutual labels:  osdev, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (+71.01%)
Mutual labels:  osdev, operating-system
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (+165.22%)
Mutual labels:  osdev, operating-system
munix
🦠 ¡nix is a UNIX-like operating system
Stars: ✭ 57 (-17.39%)
Mutual labels:  osdev, operating-system
Monkos
an experimental 64-bit operating system
Stars: ✭ 100 (+44.93%)
Mutual labels:  osdev, libc
Libhermit
HermitCore: A C-based, lightweight unikernel
Stars: ✭ 190 (+175.36%)
Mutual labels:  osdev, operating-system
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (+18.84%)
Mutual labels:  osdev, operating-system
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+15842.03%)
Mutual labels:  osdev, operating-system
Aura Operating System
AuraOS, the Franco-English Operating System developed in C# using Cosmos!
Stars: ✭ 111 (+60.87%)
Mutual labels:  osdev, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+166.67%)
Mutual labels:  osdev, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (+62.32%)
Mutual labels:  osdev, operating-system
Nebulet
A proof-of-concept microkernel that implements a WebAssembly "usermode" that runs in Ring 0.
Stars: ✭ 2,237 (+3142.03%)
Mutual labels:  osdev, operating-system
kwast
Rust operating system running WebAssembly as userspace in ring 0
Stars: ✭ 83 (+20.29%)
Mutual labels:  osdev, operating-system
rust os
My hobby operating system microkernel written in Rust
Stars: ✭ 33 (-52.17%)
Mutual labels:  osdev, operating-system
greenteaos.github.io
🏠 Homepage of the @GreenteaOS
Stars: ✭ 16 (-76.81%)
Mutual labels:  osdev, operating-system
MeetixOS
An hobby OS written in modern C++20 which aims to be Unix-like. Currently based on EvangelionNG, a GhostOS derived kernel
Stars: ✭ 179 (+159.42%)
Mutual labels:  osdev, operating-system

Melvix

β€žA lightweight unix-unlike operating systemβ€œ

Disclaimer

This project is somewhat of a coding playground for me. It doesn't have any useful functionality (yet?). Be aware that the installation on real hardware is not recommended and may break your computer.

Inactive

I've stopped developing Melvix because it wasn't interesting anymore. As I've rewritten Melvix many times, the following features may not all be available in the dev branch but scattered around all other branches and commits - sorry :P

Features

  • From scratch (no POSIX/UNIX compatibility at all)
  • Multitasking
  • VFS with EXT2, DEVFS and PROCFS
  • Minimal GUI
  • Fast boot time (< 1s)
  • TCP/IP stack and rtl8139 driver
  • Small size (< 100KiB)
  • Sandboxed processes (paging, ring 3, SMAP/SMEP protections)
  • Full UBSan support
  • Compiles with -Wall -Wextra -Werror -pedantic-errors -std=c99 -Ofast

Screenshot

Melvix screenshot

Documentation

Contributions

If you decide to contribute to this project, these are some ideas that could get you started:

  • Fix some TODOs in the code. While these are often not very well described, most of them should be self-explanatory
  • Fix issues posted on GitHubs issues tab
  • Improve the size/speed of the system or the overall performance of libraries and functions
  • Find/fix security issues and potentially write an exploit
  • Add new features (whatever you like, really)
  • Huge parts of the code are kind of a mess to be honest. Feel free to make the code more beautiful :)
  • I'm not very good in design and frontend, so feel free to improve these kind of things too
  • Write more tests for the test suite (which is extremely incomplete at the moment)
  • Write/improve documentation - either in code or in the README, wiki or manuals.

Just remember to pass the test suite and follow the code formatting guidelines (.clang-format).

Contributors ❀️

Licenses

Melvix is released under the MIT License and uses parts of the following 3rd party projects:

Inspiration/usage (documented in the respective files):

Resources:

Libraries:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].