Skip to content

shymega/ShamblerOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 

Repository files navigation

ShamblerOS

ShamblerOS is my (@shymega) personal attempt at creating a hobby operating system with my own take on how an OS should be like.

ShamblerOS is not like Linux, which is a monolithic kernel with dynamically-loadable modules. It bears a closer resemblance to MINIX, Plan 9 and Inferno, but written in Rust, a thread-safe systems programming language, with some exceptions for low-level components.

Feature outline:

Worth noting: ShamblerOS is NOT designed to be a Unix-like/POSIX operating system.

Core system.

  • Microkernel

    • Minimalist microkernel.

      • Perform an minimal amount of functions in kernel-space as possible.

      • Perform nearly all functions in user-space.

    • Aim for nearly all of the kernel to be written in Rust.

      • With exceptions for low-level components, which cannot be written in Rust.
      • Non-Rust components must be thread-safe and thoroughly tested continously.
  • POSIX emulation layer

    This is to provide compatibility to other OSes, which may not necessarily conform to ShamblerOS's conventions.

    • Sublayers - these provide extensions to the 'root' POSIX emulation layer.
      • Linux kernel emulation sublayer.
      • FreeBSD emulation sublayer.
    • Translate 'foreign' syscalls to native syscalls for ShamblerOS.

    Worth noting: this will (probably) cause a noticeable slow down.

  • Filesystem:

    • Filesystem similar to ZFS/BTRFS.
  • License: Haven't decided yet. I'd like to use GPLv3, but I'm worried that it'll make things difficult further down the line. If I had to use a permissive license, I'd go with Apache License 2.0.

About

Ramblings of a microkernel OS which I still can't decide on a "good" name for.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published