{"id":23160323,"url":"https://github.com/penberg/manticore","last_synced_at":"2025-07-30T05:07:10.969Z","repository":{"id":46994166,"uuid":"71289159","full_name":"penberg/manticore","owner":"penberg","description":"Manticore is a research operating system, written in Rust.","archived":false,"fork":false,"pushed_at":"2023-12-01T14:17:03.000Z","size":1039,"stargazers_count":295,"open_issues_count":28,"forks_count":16,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-19T21:04:22.018Z","etag":null,"topics":["kernel","operating-system","rust"],"latest_commit_sha":null,"homepage":"https://manticoreos.io/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/penberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-18T20:36:47.000Z","updated_at":"2025-05-10T23:46:15.000Z","dependencies_parsed_at":"2024-10-30T00:30:35.697Z","dependency_job_id":null,"html_url":"https://github.com/penberg/manticore","commit_stats":null,"previous_names":["penberg/manticore","manticoreos/manticore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/penberg/manticore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penberg%2Fmanticore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penberg%2Fmanticore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penberg%2Fmanticore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penberg%2Fmanticore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/penberg","download_url":"https://codeload.github.com/penberg/manticore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/penberg%2Fmanticore/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267814728,"owners_count":24148329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kernel","operating-system","rust"],"created_at":"2024-12-17T23:01:11.435Z","updated_at":"2025-07-30T05:07:10.905Z","avatar_url":"https://github.com/penberg.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"\u003cimg src=\"docs/images/manticore.png\" width=\"200\" align=\"right\" /\u003e\n\n# Manticore\n\n\u003cimg src=\"https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg\" alt=\"MIT/Apache 2.0 License\"\u003e\n\nManticore is a research operating system to explore \u003ca href=\"http://penberg.org/parakernel-hotos19.pdf\"\u003e\u003ci\u003eparakernels\u003c/i\u003e\u003c/a\u003e.\n\n## Table of Contents\n\n* [Introduction](#introduction)\n* [Getting Started](#getting-started)\n  * [Building from Sources](#building-from-sources)\n  * [Supported Hardware](#supported-hardware)\n  * [Code Structure](#code-structure)\n* [Documentation](#documentation)\n* [Publications](#publications)\n* [Community and Contributing](#contributing)\n* [Authors](#authors)\n* [License](#license)\n\n## Introduction\n\nManticore is a clean-slate research operating system, written in the [Rust programming language](https://www.rust-lang.org/), with the aim of exploring the [parakernel](http://penberg.org/parakernel-hotos19.pdf) OS architecture.\n\nPlease refer to the [project homepage](https://manticoreos.io/) for more information.\n\n## Getting Started\n\n### Building from Sources\n\nFirst, install the toolchain, which includes [`rustup`](https://rustup.rs/), Rust, and other dependencies:\n\n```\n./scripts/install-toolchain\n```\n\nNow that you have the toolchain installed, you can build Manticore with:\n\n```\nmake\n```\n\nThe build system generates a `kernel.iso` image, which you can launch under QEMU with:\n\n```\n$ ./scripts/run kernel.iso\n```\n\nFor more information, see [Manticore Hacker's Guide](HACKING.md).\n\n### Running Example Applications\n\nOnce `kernel.elf` is built, you can build an user space echo server with:\n\n```\n$ make -C usr/echod\n```\n\nand launch it under QEMU with:\n\n```\n$ ./scripts/run --publish 7777/udp usr/echod/echod.iso\n```\n\nYou can now communicate with the echo server with:\n\n```\n$ nc -u4 localhost 7777\nhello\nhello\n```\n\n### Supported Hardware\n\n * Legacy-free PC with a 64-bit x86 processor\n   * xAPIC2 interrupt controller\n   * MSI-X interrupt delivery\n   * PCIe 3.0 bus\n * VirtIO network device\n\n### Code Structure\n\nManticore's code is structured into different directories as follows:\n\n* [`arch`](./arch): machine architecture specific code\n* [`drivers`](./drivers): device drivers\n  * [`virtio`](./drivers/virtio): VirtIO device drivers\n  * [`pci`](./drivers/pci): PCIe device drivers\n* [`kernel`](./kernel): kernel services (e.g., process scheduling and system calls)\n* [`lib`](./lib): support libraries\n* [`mm`](./mm): memory management (e.g., virtual memory manager and kernel dynamic memory allocator)\n* [`usr`](./usr): user space libraries and example applications\n  \n## Documentation\n\n* [Manticore Hacker's Guide](HACKING.md)\n\n## Publications\n\n* Pekka Enberg, Ashwin Rao, and Sasu Tarkoma. 2019. [I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions](http://penberg.org/parakernel-hotos19.pdf). HotOS '19\n\n## Community and Contributing\n\nIf you have questions or comments, please join the [Manticore Slack](https://join.slack.com/t/manticoreos/shared_invite/zt-10516cdkl-uXnQeqGXq8Lkz0Z0kp_LnQ)! Bug reports and pull requests are also welcome!\n\nPlease 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](code-of-conduct.md) for details.\n\n## Authors\n\n* [Pekka Enberg](https://penberg.org)\n\nSee also the list of [contributors](https://github.com/penberg/manticore/contributors) who contributed to this project.\n\n## License\n\nLicensed under either of these:\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)\n   \nUnless 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenberg%2Fmanticore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpenberg%2Fmanticore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpenberg%2Fmanticore/lists"}