All Projects → MutexUnlocked → Deos

MutexUnlocked / Deos

The distributed exokernel operating system

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Deos

Winspd
Windows Storage Proxy Driver - User mode disk storage
Stars: ✭ 335 (+318.75%)
Mutual labels:  gplv3, driver, kernel
Winfsp
Windows File System Proxy - FUSE for Windows
Stars: ✭ 4,071 (+4988.75%)
Mutual labels:  gplv3, driver, kernel
Fiwix
A UNIX-like kernel for the i386 architecture
Stars: ✭ 38 (-52.5%)
Mutual labels:  kernel, operating-system
Smash
A unix like kernel
Stars: ✭ 40 (-50%)
Mutual labels:  kernel, operating-system
Tomatos
A 64bit tomato kernel
Stars: ✭ 75 (-6.25%)
Mutual labels:  kernel, operating-system
Tantra
Hobby x86 unix-like kernel. Curiously under development to answer "How to write an OS".
Stars: ✭ 23 (-71.25%)
Mutual labels:  kernel, operating-system
Blog os
Writing an OS in Rust
Stars: ✭ 8,120 (+10050%)
Mutual labels:  kernel, operating-system
Hidamari
Modern operating system aimed at running WebAssembly code.
Stars: ✭ 49 (-38.75%)
Mutual labels:  kernel, operating-system
Pplkiller
Protected Processes Light Killer
Stars: ✭ 453 (+466.25%)
Mutual labels:  driver, kernel
Skift
🥑 A simple, handmade, operating system with a graphical user interface.
Stars: ✭ 1,068 (+1235%)
Mutual labels:  kernel, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-33.75%)
Mutual labels:  kernel, operating-system
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-17.5%)
Mutual labels:  kernel, operating-system
Hidden
Windows driver with usermode interface which can hide objects of file-system and registry, protect processes and etc
Stars: ✭ 768 (+860%)
Mutual labels:  driver, kernel
Libhermit Rs
libhermit-rs: A Rust-based library operating system
Stars: ✭ 558 (+597.5%)
Mutual labels:  kernel, operating-system
Sparrow
My Operating System.
Stars: ✭ 71 (-11.25%)
Mutual labels:  kernel, operating-system
Powernex
An operating system written in D
Stars: ✭ 460 (+475%)
Mutual labels:  kernel, operating-system
Sos
Sian's Operating System
Stars: ✭ 40 (-50%)
Mutual labels:  kernel, operating-system
Harmonyos
鸿蒙系统资料。Docs about HarmonyOS.
Stars: ✭ 1,191 (+1388.75%)
Mutual labels:  kernel, operating-system
Phantomuserland
Phantom: Persistent Operating System
Stars: ✭ 412 (+415%)
Mutual labels:  kernel, operating-system
Gramado
Gramado OS - 32bit operating system
Stars: ✭ 420 (+425%)
Mutual labels:  kernel, operating-system

DEOS

Mailing List | Build Status

alt text

Graphic overview of an exokernel. Exokernels are much smaller than a normal kernels (monolithic kernels). They give more direct access to the hardware, thus removing most abstractions

The distributed exokernel operating system (DEOS) is an open-source operating system. That targets distributed systems such as clusters and grids. DEOS is designed for these systems and performace on these systems should be better than the average OS. This project is inspired from Dawson Engler's work of the M.I.T exokernel.

Motivation

Traditionally kernel designers have sought to make individual hardware resources invisible to application programs by requiring the programs to interact with the hardware via some abstraction model. These models include file systems for disk storage, virtual address spaces for memory, schedulers for task management, and sockets for network communication. These abstractions of the hardware make it easier to write programs in general, but limit performance and stifle experimentation in new abstractions. A security-oriented application might need a file system that does not leave old data on the disk, while a reliability-oriented application might need a file system that keeps such data for failure recovery.

One option is to remove the kernel completely and program directly to the hardware, but then the entire machine would be dedicated to the application being written (and, conversely, the entire application codebase would be dedicated to that machine). The exokernel concept is a compromise: let the kernel allocate the basic physical resources of the machine (e.g. disk blocks, memory pages, and processor time) to multiple application programs, and let each program decide what to do with these resources. The program can then link to a support library that implements the abstractions it needs (or it can implement its own).

Goals

  • Minimal configuration required.
  • Clean, clear, concise code.
  • High performance for web servers.
  • Long term support.
  • Distributed system friendly.

Trying DEOS

DEOS does not currently provide images. See Compiling DEOS for instructions on creating an image.

Compiling DEOS

Clone the repository.

$ git clone https://github.com/friedrich12/DEOS/ DEOS

Make sure gcc-multilib is installed.

$ sudo apt-get update
$ sudo apt-get install gcc-multilib

Go to directory and run make and make qemu.

$ cd DEOS
$ make
$ make qemu

Contributing

DEOS is a meritocratic open source project with a large variety of tasks. Even if you can't write code, you can still help! DEOS needs designers, (technical) writers, translators, testers ... Get involved and help out!

Contributing code

To submit code fork this respository and submit a pull request like usual.

Contributing documentation

Right now nothing is really documented. Just find an undocumented class, write documentation for it, and submit a patch.

Contributing software ports

Right now there is not a software porter, see issue #8.

Exokernel?

https://en.wikipedia.org/wiki/Exokernel

http://wiki.osdev.org/Exokernel

https://pdos.csail.mit.edu/archive/exo/theses/index.html

https://pdos.csail.mit.edu/archive/exo/exo-slides/sld001.htm Recommended read

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].