Skip to content

💻 Small operating system written from scratch (covid/school project)

License

Notifications You must be signed in to change notification settings

marvinborner/Melvix

Repository files navigation

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:

About

💻 Small operating system written from scratch (covid/school project)

Topics

Resources

License

Stars

Watchers

Forks