YoVDO

From the Ground Up - How We Built the Nanos Unikernel

Offered By: Linux Foundation via YouTube

Tags

Conference Talks Courses Virtualization Courses Operating Systems Courses Memory Allocation Courses Concurrency Courses Closures Courses Unikernels Courses

Course Description

Overview

Explore the development process and architecture of the Nanos Unikernel in this 50-minute conference talk. Delve into the concept of unikernels, their advantages, and their relationship with virtualization. Examine the Nanos unikernel's approach to security, performance optimization, and kernel development from scratch. Investigate the runtime environment, focusing on memory allocation techniques such as parameterized heaps, elemental heaps, and cache heaps. Learn about concurrency implementation using closures, scheduling with thunks, and the interplay between closures and threads. Discover the common value space for configuration and management, including manifest examples and future roadmap plans. Gain insights into building efficient, secure, and performant unikernel systems for modern computing environments.

Syllabus

Intro
Overview
What Are Unikernels?
Why use a Unikernel?
Unikernels and Virtualization
Enter Nanos
Nanos and Security Say Yes to Kernel Security Features!
Go Webserver on Nanos Profiling with Apache Bench
Kernel From Scratch
The Runtime Environment
Memory Allocation Familiar Faces: Malloc and Free
Nanos: Parameterized Heaps
Elemental Heaps Allocating Number Space
id_heap
Composable Heaps
Cache Heaps
Heap Wrappers
Ephemeral Heaps Future Development
Concurrency in the Kernel
What Are Closures?
Closures in Nanos
Simple Completion
Completions in Stages and using a merge to join parallel operations
Scheduling With Thunks
Closures vs. Threads? Not mutually exclusive...
Common Value Space For configuration and management
Example Manifest Used by 'mkfs' during image staging
Management / Monitoring Work in progress...
Management Roadmap
Takeaway


Taught by

Linux Foundation

Tags

Related Courses

Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX
Paradigms of Computer Programming – Abstraction and Concurrency
Université catholique de Louvain via edX
Computing: Art, Magic, Science - Part II
ETH Zurich via edX
Concurrency
AdaCore via Independent
Java Fundamentals for Android Development
Galileo University via edX