Skip to content
@charlotte-os

CharlotteOS

A novel open source operating system project

CharlotteOS

CharlotteOS is an extremely ambitious novel operating system project. It will be a capability-based, quasi-exokernel OS with paravirtualized hardware interfaces and strong process isolation.

CharlotteOS is built around three crucial design points:

  • Capability-based security: Capabilities are tokens that refer to particular units of a given system resource along with an associated set of permissions. Processes will only be able to perform actions on system resources if they have the capabilities needed to do so.
  • Low-level kernel interfaces: The kernel, Charlotte Core, will present a set of well-defined, common interfaces for each supported device type which will be mapped by drivers to the equivalent functionality on real hardware, providing fine grained access to hardware functionality and opportunities for software optimization without compromising on security or stability. Higher level abstractions over these low level interfaces will also be available through the use of system libraries.
  • Strongly-typed namespace: A hierarchical, strongly-typed global namespace will allow for seamless management of system resources and components, making it easy to enumerate and interact with the system. Namespace paths will be URIs which will ease their use and also allow accesses to the namespaces of other hosts without having to mount and unmount directories at all. The filesystem will be part of the namespace with files being one of many types of namespace entries. Unprivileged processes will only be able to access the portions of the namespace that they have the capabilities to see and access.

CharlotteOS will leverage these concepts to be a modern, open-source operating system that exemplifies all of security, performance, flexibility, and ease of use with no compromises. Processes will be heavily sandboxed, with inter-process communication primarily occurring through the kernel bus (kbus), a high-performance communication mechanism for both local and remote communication and the only means by which processes may exchange capabilities.

Other tentatively planned features include:

  • Widget-style GUI inspired by KDE Plasma
  • Dynamic Quantum Round Robin thread scheduling
  • Advanced memory management with processes able to control their own address spaces to a significant degree
  • Robust remote desktop capabilities

CharlotteOS plans to offer a unique combaination of low-level control for developers and system administrators and ease of use for normal users with the goal of meeting the needs of all three.

We are actively seeking collaborators who share our vision of building this type of operating system. If you have expertise in OS development or system programming and want to help please join our Discord server.

Also check out our Github organization to keep up with our progress and possibly help out: https://github.com/charlotte-os

Pinned Loading

  1. charlotte-core charlotte-core Public

    The Kernel of CharlotteOS

    Rust 84 6

  2. developer-docs developer-docs Public

    A repository containing design documents, RFCs, and the developer wiki for CharlotteOS

  3. charlotte-os.github.io charlotte-os.github.io Public

    The Charlotte OS Website

    HTML 1

Repositories

Showing 8 of 8 repositories
  • zenalloc Public

    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 5 Apache-2.0 0 5 0 Updated Aug 13, 2024
  • charlotte-core Public

    The Kernel of CharlotteOS

    charlotte-os/charlotte-core’s past year of commit activity
  • mdk Public

    Module development kit

    charlotte-os/mdk’s past year of commit activity
    Go 0 0 0 0 Updated Jul 27, 2024
  • devops Public

    Collection of CharlotteOS devops

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

    The Charlotte OS Website

    charlotte-os/charlotte-os.github.io’s past year of commit activity
    HTML 1 GPL-3.0 0 1 0 Updated Jul 23, 2024
  • pki-info Public

    Information and CRLs for the project's PKI

    charlotte-os/pki-info’s past year of commit activity
    0 0 0 0 Updated Jul 22, 2024
  • .github Public

    Readme

    charlotte-os/.github’s past year of commit activity
    0 0 0 0 Updated Jul 21, 2024
  • developer-docs Public

    A repository containing design documents, RFCs, and the developer wiki for CharlotteOS

    charlotte-os/developer-docs’s past year of commit activity
    0 0 0 0 Updated May 8, 2024

Top languages

Loading…

Most used topics

Loading…