No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Florian Schmidt 94e6454ede Release: 0.3.1 Iapetus 5 months ago
arch arch/include: Add a _regs member to save origial stack pointer 5 months ago
doc Release: 0.3.1 Iapetus 5 months ago
include/uk include/uk: introduce __weak_alias macro 6 months ago
lib lib/nolibc: add definition for pid_t 5 months ago
plat plat/kvm: arm64: Remove superfluous blank line 5 months ago
support support/build: Add support for the tar.xz and .txz format 6 months ago
.checkpatch.conf build: Add build and configuration framework 1 year ago
.clang-format build: Add build and configuration framework 1 year ago
.gitignore gitignore: add .* files and gnu-global/cscope tags 1 year ago
CODING_STYLE.md doc: Project operation documentation 1 year ago
CONTRIBUTING.md doc: Reduce pressure in 'selector' choosing instructions 1 year ago
COPYING.md doc: Project operation documentation 1 year ago
Config.uk build: mark LTO as experimental 6 months ago
MAINTAINERS.md doc: Project operation documentation 1 year ago
Makefile build: properly separate UK_EXTRAVERSION in version string 5 months ago
Makefile.uk build: Remove the check of '--enable-default-pie' in Makefile.uk 5 months ago
README.md doc: Project operation documentation 1 year ago
version.mk Release: 0.3.1 Iapetus 5 months ago

README.md

Unikraft - “Unikernel Crafting”

Unikraft is an automated system for building specialized OSes and unikernels tailored to the needs of specific applications. It 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.).

In addition, Unikraft has the concept of external libraries. These are what we commonly understand as standard libraries such as libc or openssl, and help to enhance the functionality of Unikraft and the range of applications it is able to support.

Unikraft supports multiple target platforms (e.g., Xen, KVM and Linux userspace for development purposes), 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.

The configuration and build process are driven by a menu system inspired by Linux’s kConfig system, making it easy to choose different libraries and configure them. This simplifies the process of trying out different configurations in order to extract the best possible performance out of a particular application.

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.

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

Further resources