Giter VIP home page Giter VIP logo

The C4 Operating System

What is it?

C4-OS aims to be a relatively complete hobby operating system built around the C4 kernel, which is an L4-like microkernel. Right now, it's composed of a the kernel, a few low-level utility libraries such as the c4 runtime, some PC device drivers, some test programs, and a forth interpreter.

What can it do?

  • Multithreading, SMP-capable
  • Userland drivers and pagers
  • Capability-oriented syscall API
  • Syncronous, asyncronous and channel IPC
  • Compositing display manager
  • Load static ELF executables from disk
  • Load and interpret forth programs from disk
  • Read and write PATA drives in PIO mode
    • DMA soon lol
  • Read from ext2 file systems, incomplete
    • Partial write support, very broken

What's in the works?

  • Software ports
    • lua, libpng, freetype2, zlib, the usual suspects
    • POSIX compatibility layer
  • Networking
    • e1000, r8139, virtio drivers planned
    • port of lwip or uip for the TCP stack
  • Graphics
    • Framebuffer multiplexer
    • Fancy window manager and programs for it (console, file manager, etc)
  • File systems
    • VFS layer, for providing virtual mount points and caching on top of filesystems
    • FAT driver
  • Platforms
    • x86-64 relatively soon
    • support for some ARM-based SBCs (beaglebone, raspberry pi)

What's in the future?

  • Virtualization
    • Paravirtualization
      • "OS rehosting"
      • based on vCPUs in L4 Fiasco
    • Exposing intel and amd virtualization instruction sets to userland
  • support for NetBSD rump kernels, based on work the sel4 folks have done

Wait, but why?

  • I like operating systems, became bored of working on my unix clone, and wanted to learn more about microkernels. If you happen to be looking for a production-ready microkernel, take a look at fiasco or sel4.

c4-os's Projects

c4-os icon c4-os

Top-level repository for the C4 operating system

initprogs icon initprogs

Some programs to test after booting, this will probably be removed later

rumprun icon rumprun

The Rumprun unikernel and toolchain for various platforms

sigma0 icon sigma0

The initial task which brings up the system

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.