All Projects β†’ unikraft β†’ Unikraft

unikraft / Unikraft

Licence: other
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Unikraft

Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-63.93%)
Mutual labels:  kernel, operating-system, os, osdev
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-38.8%)
Mutual labels:  kernel, operating-system, os, osdev
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (-53.01%)
Mutual labels:  kernel, os, osdev, operating-system
beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (-43.72%)
Mutual labels:  kernel, os, osdev, operating-system
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (+125.68%)
Mutual labels:  kernel, operating-system, os, osdev
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+18.58%)
Mutual labels:  kernel, os, osdev, operating-system
RocketOS
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.
Stars: ✭ 23 (-87.43%)
Mutual labels:  kernel, os, osdev, operating-system
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+36.61%)
Mutual labels:  kernel, os, osdev, operating-system
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+97.27%)
Mutual labels:  kernel, operating-system, os, osdev
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+2461.2%)
Mutual labels:  kernel, operating-system, os, osdev
Emerald
An operating system written in C
Stars: ✭ 118 (-35.52%)
Mutual labels:  kernel, operating-system, os, osdev
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+5482.51%)
Mutual labels:  kernel, operating-system, os, osdev
nautilus
Nautilus Aerokernel
Stars: ✭ 30 (-83.61%)
Mutual labels:  kernel, os, operating-system, unikernel
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-91.26%)
Mutual labels:  kernel, os, osdev, operating-system
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (-82.51%)
Mutual labels:  kernel, os, osdev, operating-system
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (-6.01%)
Mutual labels:  kernel, os, osdev, operating-system
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-81.42%)
Mutual labels:  kernel, os, osdev, operating-system
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-79.23%)
Mutual labels:  kernel, os, osdev, operating-system
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-79.23%)
Mutual labels:  kernel, os, osdev, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-71.04%)
Mutual labels:  kernel, operating-system, os, osdev

Unikraft

Unleash the Power of Unikernels!

How Unikraft works

Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels; these images are tailored to the needs of specific applications. Unikraft is based around the concept of small, modular libraries, each providing a part of the functionality commonly found in an operating system (e.g., memory allocation, scheduling, filesystem support, network stack, etc.).

Unikraft supports multiple target platforms (e.g., Xen, KVM, and Linux userspace) so that it is possible to build multiple images, one for each platform, for a single application without requiring the application developer to do any additional, platform-specific work. In all, Unikraft is able to build specialized OSes and unikernels targeted at specific applications without requiring the time-consuming, expert work that is required today to build such images.

Typical Use Cases

Unikraft is a new system for ultra-light virtualization of your services in the cloud or at the edge, as well as extremely efficient software stacks to run bare metal on embedded devices. Smaller, quicker, and way more efficient than conventional systems:

⚑ Cold boot virtual machines in a fraction of a second While Linux-based systems might take tens of seconds to boot, Unikraft will be up in a blink.

πŸ“ˆ Deploy significantly more instances per physical machine Don’t waste CPU cycles on unneeded functionality – focus on your users' needs.

πŸ“‰ Drastic reductions in memory consumption With all your applications and data strongly separated into ultra light-weight virtual machines, scaling becomes a breeze.

πŸ›‘οΈ Ready for mission critical deployments Focus your trust on a minimal set of required components, significantly reduce your service's attack surface, and minimize certification costs.

🏎 Outstanding performance Specializing the OS to meet your application's needs is the key to achieving superior performance, making you ready to drive your infrastructure to the peak.

Supported Architectures and Platforms

Unikraft supports the construction of multiple architectures, platforms, and images. The following tables give an overview of the current support.

πŸ’‘ Architecture Support

Architecture Status
x86 x86_64
Arm armv7, aarch64
RISC-V βš™οΈ Issue #60

πŸ’» Platform Support

Platform x86_64 arm32 arm64
Linux Userspace βœ… βœ… βœ…
Linux KVM βœ… ❌ βœ…
Xen Hypervisor βœ… βš™οΈ Issue #34 βš™οΈ Issue #62
Solo5 βœ… ❌ βš™οΈ Issue #63
VMWare βš™οΈ Issue #3 - -
Hyper-V βš™οΈ Issue #61 - -

☁️ IaaS Providers

Cloud Provider Images
Amazon Web Services AMI, Firecracker
Google Compute Platform GCP Image
Digital Ocean Droplet

Getting Started

The fastest way to get started configuring, building and deploying Unikraft unikernels is to use our companion tool, kraft.

With kraft installed, you can download Unikraft components, configure your unikernel to your needs, build it and run it -- there's no need to be an expert!

Contributing

Contributions are welcome! Please see our Contributing Guide for more details. A good starting point is the list of open projects. If one of these interests you or you are interested in finding out more information, please drop us a line via the mailing list or directly at [email protected].

Further Resources

For more information about Unikraft, including user and developer guides, please refer to the docs/guides directory or vist the our documentation.

License

Unikraft is licensed under a BSD-3-Clause. For more information, please refer to COPYING.md.

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