ランキングに戻る

hermit-os/hermit-rs

Rusthermit-os.org

Hermit for Rust.

virtualizationosdevoperating-systemcloud-computinghigh-performance-computingrust-langunikernelrustoperating-systems
スター成長
スター
1.9k
フォーク
113
週間成長
Issue
27
5001k1.5k
2020年2月2022年3月2024年5月2026年7月
成果物crates.iocargo add hermit-rs
README

Hermit for Rust

A Rust-based, lightweight unikernel.

Zulip Badge

Hermit is a unikernel targeting a scalable and predictable runtime for high-performance and cloud computing. Unikernel means, you bundle your application directly with the kernel library, so that it can run without any installed operating system. This reduces overhead, therefore, interesting applications include virtual machines and high-performance computing.

The kernel is able to run applications authored in Rust, C, among others.


The repository contains following directories and submodules:

  1. demo is a small demo application based on the data-parallelism library Rayon
  2. hermit-abi contains the platform APIs and builds the interface between library operating system and the application
  3. hermit contains a crate to automate the build process of the library operating systems
  4. kernel is the kernel itself
  5. netbench provides some basic network benchmarks

Background

Hermit is a rewrite of HermitCore in Rust developed at RWTH-Aachen. HermitCore was a research unikernel written in C (libhermit).

The ownership model of Rust guarantees memory/thread-safety and enables us to eliminate many classes of bugs at compile-time. Consequently, the use of Rust for kernel development promises fewer vulnerabilities in comparison to common programming languages.

The kernel and the integration into the Rust runtime are entirely written in Rust and do not use any C/C++ Code. We extended the Rust toolchain so that the build process is similar to Rust's usual workflow. Rust applications that use the Rust runtime and do not directly use OS services are able to run on Hermit without modifications.

Requirements

Building your own applications

Have a look at the template.

Use Hermit for C/C++, Go, and Fortran applications

If you are interested to build C/C++, Go, and Fortran applications on top of a Rust-based library operating system, please take a look at https://github.com/hermit-os/hermit-playground.

Wiki

Please use the Wiki to get further information and configuration options.

Credits

Hermit is derived from following tutorials and software distributions:

  1. Philipp Oppermann's excellent series of blog posts.
  2. Erik Kidd's toyos-rs, which is an extension of Philipp Opermann's kernel.
  3. The Rust-based teaching operating system eduOS-rs.

License

Licensed under either of

at your option.

Contribution

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

Hermit is being developed on GitHub. Create your own fork, send us a pull request, and chat with us on Zulip.

関連リポジトリ
dockur/windows

Windows inside a Docker container.

ShellMIT Licensedockerdocker-container
52.5k4.5k
firecracker-microvm/firecracker

Secure and fast microVMs for serverless computing.

Rustcrates.ioApache License 2.0virtual-machinesandbox
firecracker-microvm.io
35.6k2.5k
hashicorp/vagrant

Vagrant is a tool for building and distributing development environments.

RubyRubyGemsOthervagrantruby
vagrantup.com
27.2k4.4k
bvaughn/react-virtualized

React components for efficiently rendering large lists and tabular data

JavaScriptnpmMIT Licensereactreact-components
bvaughn.github.io/react-virtualized/
27.1k3k
yeasy/docker_practice

最新Docker容器技术,从真实案例中学习最佳实践!| Learn and understand Docker&Container technologies, with real DevOps practice!

GoGo Modulesdockerbook
yeasy.gitbook.io/docker_practice/
26.2k5.8k
kholia/OSX-KVM

Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.

Shellmacosemulation
23.5k2k
copy/v86

x86 PC emulator and x86-to-wasm JIT, running in the browser

JavaScriptnpmBSD 2-Clause "Simplified" Licenseemulatorvirtualization
copy.sh/v86/
23.3k1.9k
TibixDev/winboat

Run Windows apps on 🐧 Linux with ✨ seamless integration

TypeScriptnpmMIT Licensedockerdocker-compose
winboat.app
22k684
dockur/macos

MacOS inside a Docker container.

ShellMIT Licensedockerdocker-container
20.9k1.1k
trycua/cua

Scale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.

HTMLMIT Licenseapplecua
cua.ai
20.4k1.4k
quickemu-project/quickemu

Quickly create and run optimised Windows, macOS and Linux virtual machines

ShellMIT Licenseqemukvm
15.3k683
qemu/qemu

Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are disabled. Please only use release tarballs from the QEMU website.

COtheremulationqemu
qemu.org
13.5k7k