All Projects → JehanneOS → Jehanne

JehanneOS / Jehanne

Licence: other
Jehanne Operating System

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Jehanne

Harvey
A distributed operating system
Stars: ✭ 1,204 (+385.48%)
Mutual labels:  operating-system, distributed-systems
Manticore
Manticore is a research operating system, written in Rust.
Stars: ✭ 234 (-5.65%)
Mutual labels:  operating-system
Detective
🔎 A distributed application health monitoring library
Stars: ✭ 221 (-10.89%)
Mutual labels:  distributed-systems
Materialize
Materialize lets you ask questions of your live data, which it answers and then maintains for you as your data continue to change. The moment you need a refreshed answer, you can get it in milliseconds. Materialize is designed to help you interactively explore your streaming data, perform data warehousing analytics against live relational data, or just increase the freshness and reduce the load of your dashboard and monitoring tasks.
Stars: ✭ 3,341 (+1247.18%)
Mutual labels:  distributed-systems
Thespian
Python Actor concurrency library
Stars: ✭ 220 (-11.29%)
Mutual labels:  distributed-systems
Stateright
A model checker for implementing distributed systems.
Stars: ✭ 213 (-14.11%)
Mutual labels:  distributed-systems
Longhorn
Cloud-Native distributed storage built on and for Kubernetes
Stars: ✭ 3,384 (+1264.52%)
Mutual labels:  distributed-systems
Suod
(MLSys' 21) An Acceleration System for Large-scare Unsupervised Heterogeneous Outlier Detection (Anomaly Detection)
Stars: ✭ 245 (-1.21%)
Mutual labels:  distributed-systems
Awesome Substrate
A curated list of awesome projects and resources related to the Substrate blockchain development framework.
Stars: ✭ 228 (-8.06%)
Mutual labels:  distributed-systems
Xv6 Book Chinese
MIT操作系统工程的教学操作系统Xv6的源码剖析中文翻译项目,使用ANSI标准C重新在riscv架构上实现Unix v6;
Stars: ✭ 223 (-10.08%)
Mutual labels:  operating-system
Zebus
A lightweight Peer to Peer Service Bus
Stars: ✭ 222 (-10.48%)
Mutual labels:  distributed-systems
Helios
The free embedded operating system.
Stars: ✭ 223 (-10.08%)
Mutual labels:  operating-system
Lagom
Reactive Microservices for the JVM
Stars: ✭ 2,590 (+944.35%)
Mutual labels:  distributed-systems
Gosiris
An actor framework for Go
Stars: ✭ 222 (-10.48%)
Mutual labels:  distributed-systems
Dkron
Dkron - Distributed, fault tolerant job scheduling system https://dkron.io
Stars: ✭ 2,930 (+1081.45%)
Mutual labels:  distributed-systems
6.824 2017
⚡️ 6.824: Distributed Systems (Spring 2017). A course which present abstractions and implementation techniques for engineering distributed systems.
Stars: ✭ 219 (-11.69%)
Mutual labels:  distributed-systems
Luakernel
Lua + SQLite + musl libc running on x86.
Stars: ✭ 223 (-10.08%)
Mutual labels:  operating-system
Mysql Notes
MySQL 学习笔记
Stars: ✭ 227 (-8.47%)
Mutual labels:  distributed-systems
Ddd
A Domain Driven Design framework for software simplicity in node
Stars: ✭ 244 (-1.61%)
Mutual labels:  distributed-systems
Erleans
Erlang Orleans
Stars: ✭ 239 (-3.63%)
Mutual labels:  distributed-systems

Build Status Coverity Badge

Jehanne

Jehanne is a simple operating system.

Jehanne has noble ancestors:

  • most of userland tools, a lot of wisdom and some kernel modules, come from 9front
  • the kernel is a fork of Charles Forsyth's Plan9-9k
  • most of the build system and some valuable piece of code come from Harvey OS

Still the project is named after a humble peasant, the famous French heretic Joan of Arc, because it diverges deeply from the design and conventions of its predecessors.

Overview

This is the main repository, used to build the system as a whole:

  • arch contains one folder for each supported architecture, with specific C headers, libraries and executables (note that by architecture we intend any kind of physical or virtual machine that is able to run code, thus rc is actually an architecture)
  • sys is the system folder
    • include contains portable C headers
    • lib contains data and scripts used by the running system
    • man contains manual pages
    • src contains the sources of the system
  • doc contains useful documentation for Jehanne development
    • license contains detailed info about Jehanne licenses
    • hacking contains details about how to build and modify Jehanne
  • hacking contains the utilities used to develop Jehanne
  • qa contains the regression tests
  • mnt contains default mount targets
  • usr contains the users' folders
  • pkgs will contains the installed packages

The running system also includes supplemental folders like /lib, /cmd and /dev that are bound during the boot as required.

Build

To build Jehanne and play with it, you need to have git, golang, qemu, gcc, binutils and bison installed. For example on Debian GNU/Linux 10 you should be able to get going with

sudo apt-get install git golang build-essential flex bison qemu-system autoconf autoconf-archive curl automake-1.15

After the repository clone, you can give a look with

git submodule init                               # we have a lot of submodules
git submodule update --init --recursive --remote --depth 1
./hacking/devshell.sh                            # start a shell with appropriate environment
./hacking/continuous-build.sh                    # to build everything (will take a while)
./hacking/runOver9P.sh                           # to start the system in QEMU
./hacking/drawterm.sh                            # to connect Jehanne with drawterm

Hacking

Jehanne is a work in progress. Forks and pull requests are welcome.

In doc/hacking you will find all you need to know about its principles, design and weirdness.

There's a lot of work to do, in every area of the system.

To coordinate our efforts, we use the github issues. To discuss (and even debate) about the design and development of Jehanne we use the JehanneOS mailing list: please join and present yourself and your attitudes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].