All Projects → manticoreos → Manticore

manticoreos / Manticore

Licence: other
Manticore is a research operating system, written in Rust.

Programming Languages

c
50402 projects - #5 most used programming language
rust
11053 projects

Projects that are alternatives of or similar to Manticore

Build
Armbian Linux build framework
Stars: ✭ 1,827 (+680.77%)
Mutual labels:  kernel, operating-system
Eduos Rs
A teaching operating system written in Rust
Stars: ✭ 210 (-10.26%)
Mutual labels:  kernel, operating-system
Os One
一个自制的树莓派操作系统
Stars: ✭ 132 (-43.59%)
Mutual labels:  kernel, operating-system
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+4600.85%)
Mutual labels:  kernel, operating-system
Pebble
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 184 (-21.37%)
Mutual labels:  kernel, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (-49.57%)
Mutual labels:  kernel, operating-system
Synestiaos
The Synestia Operating System
Stars: ✭ 159 (-32.05%)
Mutual labels:  kernel, operating-system
Jingos
JingOS - The World’s First Linux-based OS design for Tablets
Stars: ✭ 101 (-56.84%)
Mutual labels:  kernel, operating-system
Pluto
An x86 kernel written in Zig
Stars: ✭ 172 (-26.5%)
Mutual labels:  kernel, operating-system
Zen
Experimental operating system written in Zig
Stars: ✭ 177 (-24.36%)
Mutual labels:  kernel, operating-system
Frosted
Frosted: Free POSIX OS for tiny embedded devices
Stars: ✭ 194 (-17.09%)
Mutual labels:  kernel, operating-system
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (-21.79%)
Mutual labels:  kernel, operating-system
Aura Operating System
AuraOS, the Franco-English Operating System developed in C# using Cosmos!
Stars: ✭ 111 (-52.56%)
Mutual labels:  kernel, operating-system
Mbp Fedora
Stars: ✭ 129 (-44.87%)
Mutual labels:  kernel, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-52.14%)
Mutual labels:  kernel, operating-system
Neu Os
Based on linux0.11, break it down, then reassemble (For NEU Lab use)
Stars: ✭ 143 (-38.89%)
Mutual labels:  kernel, operating-system
Boneos
💥 BoneOS Kernel and Operating System Source Tree
Stars: ✭ 96 (-58.97%)
Mutual labels:  kernel, operating-system
Serenity
SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Stars: ✭ 16,842 (+7097.44%)
Mutual labels:  kernel, operating-system
Willos
💾 A minimal kernel (just a hobby, won't be big and professional). // Work In Progress
Stars: ✭ 163 (-30.34%)
Mutual labels:  kernel, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-21.37%)
Mutual labels:  kernel, operating-system

Build Status MIT/Apache 2.0 License Gitter

Manticore is a research operating system to explore parakernels.

asciicast

Table of Contents

Introduction

Manticore is a clean-slate research operating system, written in the Rust programming language, with the aim of exploring the parakernel OS architecture.

Please refer to the project homepage for more information.

Getting Started

Building from Sources

First, install the toolchain, which includes rustup, Rust, and other dependencies:

./scripts/install-toolchain

Now that you have the toolchain installed, you can build Manticore with:

make

The build system generates a kernel.iso image, which you can launch under QEMU with:

$ ./scripts/run kernel.iso

For more information, see Manticore Hacker's Guide.

Running Example Applications

Once kernel.elf is built, you can build an user space echo server with:

$ make -C usr/echod

and launch it under QEMU with:

$ ./scripts/run usr/echod/echod.iso

Supported Hardware

  • Legacy-free PC with a 64-bit x86 processor
    • xAPIC2 interrupt controller
    • MSI-X interrupt delivery
    • PCIe 3.0 bus
  • VirtIO network device

Code Structure

Manticore's code is structured into different directories as follows:

  • arch: machine architecture specific code
  • drivers: device drivers
    • virtio: VirtIO device drivers
    • pci: PCIe device drivers
  • kernel: kernel services (e.g., process scheduling and system calls)
  • lib: support libraries
  • mm: memory management (e.g., virtual memory manager and kernel dynamic memory allocator)
  • usr: user space libraries and example applications

Documentation

Publications

Contributing

Bug reports and pull requests are welcome!

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See Code of Coduct for details.

Authors

See also the list of contributors who contributed to this project.

License

Licensed under either of these:

Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in the work, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.

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