Skip to content
@charlotte-os

CharlotteOS

An Experimental Modern Operating System

CharlotteOS

An Experimental Modern Operating System

What the heck is this?

CharlotteOS is an experimental attempt to create a much more modern operating system than those that are in common use today. It seeks to achieve this by incorporating several features that have been described in the operating systems research literature but thus far not used in any mainstream operating system despite providing clear advantages over their equivalents in the actual mainstream systems. Among these features are the following:

  • Capability based access control
  • A strongly typed system namespace used to enumerate and interact with all system resources from the filesystem to the registry and beyond as well as the same features on other hosts
  • A low level OS API that allows developers to aggressively optimize their applications and libraries when they so choose and also allows for the layering of their preferred abstractions atop it
  • URIs as namespace paths allowing access to system resources both locally and on the network without mounting or unmounting anything
  • A highly modular kernel that internally abstracts almost all of its components to common interfaces allowing for implementations to be replaced or added relatively easily
  • Graceful failure mechanisms that avoid total system failure to the extent possible by making any kernel function that can fail return a Result unless the error absolutely cannot be recovered from at all.
  • Intuitive and easy to use text based and graphical interfaces
  • Atomic update and installation transactions for all software including OS components with easy rollback
  • A pure monolithic kernel which cannot be dynamically modified or extended in any way after it is compiled to prevent tampering and eliminate an entire category of security vulnerabilities and potential stability issues.
  • others to be determined in the course of development

How can I get involved?

Just clone any of the repositories in this organization, make a new branch and make your desired changes, then make a pull request and a maintainer will review it and either merge it or make a request for changes. You can also feel free to open issues in any of our repositories or participate in the disussion sections.

Is there documentation or a wiki?

Not yet but it would be ideal to create a centralized repository of developer knowledge some point soon to avoid the issues that come with relying on so called tribal knowledge.

Licensing

All executables within this project are licensed under the GNU General Public License version 3 or later while libraries are licensed under the GNU Lesser General Public License version 3 or later. Individual repositories may also contain notices regarding specific exceptions to the requirements of the GPL 3.0 persuant to section 7 of the license which apply only to the repository in which they are placed.

If you do not wish to license your contributions under these terms then please do not contribute. We consider the strong copyleft license to be a feature of our project as much as any functionality of the software itself.

Pinned Loading

  1. charlotte-os.github.io charlotte-os.github.io Public archive

    The Charlotte OS Website

    HTML 2

Repositories

Showing 10 of 11 repositories
  • Nova Public

    The Kernel of CharlotteOS, An Experimental Modern Operating System

    charlotte-os/Nova’s past year of commit activity
    Rust 5 GPL-3.0 0 3 0 Updated Jan 4, 2025
  • .github Public

    Readme

    charlotte-os/.github’s past year of commit activity
    0 0 0 0 Updated Dec 11, 2024
  • charlotte-core Public archive

    The Kernel of CharlotteOS

    charlotte-os/charlotte-core’s past year of commit activity
    Rust 114 GPL-3.0 9 6 1 Updated Oct 29, 2024
  • charlotte-core-archive Public archive Forked from charlotte-os/charlotte-core

    The Kernel of CharlotteOS (Deprecated)

    charlotte-os/charlotte-core-archive’s past year of commit activity
    Rust 0 MPL-2.0 10 0 0 Updated Sep 4, 2024
  • mdk Public archive

    Module development kit

    charlotte-os/mdk’s past year of commit activity
    Go 0 MPL-2.0 0 0 0 Updated Sep 4, 2024
  • charlotte-os.github.io Public archive

    The Charlotte OS Website

    charlotte-os/charlotte-os.github.io’s past year of commit activity
    HTML 2 MPL-2.0 0 1 0 Updated Sep 4, 2024
  • testhive Public archive

    A simple yet powerful testing framework for Rust

    charlotte-os/testhive’s past year of commit activity
    Rust 0 MPL-2.0 0 0 0 Updated Sep 4, 2024
  • zenalloc Public archive

    A library crate similar to the standard Rust `alloc` crate that is guaranteed to never panic

    charlotte-os/zenalloc’s past year of commit activity
    Rust 6 MPL-2.0 0 5 0 Updated Sep 4, 2024
  • rt_init Public archive

    A simple macro easing the use of Rust's `spin::lazy`

    charlotte-os/rt_init’s past year of commit activity
    Rust 0 Apache-2.0 0 0 0 Updated Sep 1, 2024
  • devops Public archive

    Collection of CharlotteOS devops

    charlotte-os/devops’s past year of commit activity
    0 GPL-3.0 0 0 0 Updated Jul 26, 2024

Top languages

Loading…

Most used topics

Loading…