Manticore is a research operating system to explore parakernels.
Table of Contents
- Getting Started
Please refer to the project homepage for more information.
Building from Sources
First, install the toolchain, which includes
rustup, Rust, and other dependencies:
Now that you have the toolchain installed, you can build Manticore with:
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
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
- Legacy-free PC with a 64-bit x86 processor
- xAPIC2 interrupt controller
- MSI-X interrupt delivery
- PCIe 3.0 bus
- VirtIO network device
Manticore's code is structured into different directories as follows:
arch: machine architecture specific code
drivers: 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
- Pekka Enberg, Ashwin Rao, and Sasu Tarkoma. 2019. I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions. HotOS '19
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.
See also the list of contributors who contributed to this project.
Licensed under either of these:
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
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.