twizzler-operating-system / twizzler

The Twizzler Operating System
BSD 3-Clause "New" or "Revised" License
62 stars 13 forks source link

The Twizzler Operating System

Twizzler is a research operating system designed to explore novel programming models for new memory hierarchy designs. We are focused on providing an environment designed around invariant data references and long-lived pointers, thus being well suited for byte-addressible non-volatile memory and multi-node networked applications.

This repo contains source code for the kernel and userspace, along with a build system that bootstraps a Twizzler userspace. You can write code for it and play around! We're not quite production ready, but we're getting there! :)

See (https://twizzler.io/about/) for more details.

NOTE: This repo has recently been rebuilt with our pure Rust implementation of the Twizzler kernel. If you have previously forked or used Twizzler you may find that some features are changed or not at parity. Please open an issue on our tracker if you find any deficiencies.

Building

See BUILD.md for details.

Contributing

See develop.md for details.

Reporting Bugs

All bugs found and features requested must be reported through our github issue tracker. Please add the appropriate label, bug or feature, and also give as much detail as possible, including backtraces or such for bugs.

If you find a security vulnerability that needs responsible disclosure please contact the administrators of the project directly and we will work with you on the fix and the disclosure credit.

Code of Conduct

See conduct.md for details.

A Tour of the Repo

<root>
    doc -- documentation files
    src
        bin -- Twizzler userspace programs
        kernel -- the Twizzler kernel itself
        lib -- libraries for Twizzler
    target (once built) -- compilation artifacts
    toolchain -- sources for all aspects of the Rust toolchain used to build Twizzler
        install (once built) -- install location for the toolchain
        src -- sources for the toolchain
            rust -- cloned repo for Rust, modified for Twizzler userspace
    tools -- build tools, like the build system orchestrator xtask