Exploring Sculpt a component-based operating system Josef Sntgen - - PowerPoint PPT Presentation

exploring sculpt
SMART_READER_LITE
LIVE PREVIEW

Exploring Sculpt a component-based operating system Josef Sntgen - - PowerPoint PPT Presentation

Exploring Sculpt a component-based operating system Josef Sntgen < josef.soentgen@genode-labs.com > Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating


slide-1
SLIDE 1

Exploring Sculpt

a component-based operating system

Josef Söntgen <josef.soentgen@genode-labs.com>

slide-2
SLIDE 2

Outline

  • 1. Background
  • 2. Sculpt OS overview
  • 3. Extending the system
  • 4. Sculpt Road Map

Exploring Sculpt a component-based operating system 2

slide-3
SLIDE 3

Outline

  • 1. Background
  • 2. Sculpt OS overview
  • 3. Extending the system
  • 4. Sculpt Road Map

Exploring Sculpt a component-based operating system 3

slide-4
SLIDE 4

Background

Observation: commodity OSes are (too) complex “Ingredients” for building low-complex systems are there Prototype in 2006 Founding of Genode Labs in 2008 to develop the prototype further

Exploring Sculpt a component-based operating system 4

slide-5
SLIDE 5

Clean-slate operating-system architecture

Exploring Sculpt a component-based operating system 5

slide-6
SLIDE 6

Clean-slate operating-system architecture

Least privilege → Capability-based security

Exploring Sculpt a component-based operating system 5

slide-7
SLIDE 7

Clean-slate operating-system architecture

Least privilege → Capability-based security Mixed criticality → Isolated components, application-specific TCBs

Exploring Sculpt a component-based operating system 5

slide-8
SLIDE 8

Clean-slate operating-system architecture

Least privilege → Capability-based security Mixed criticality → Isolated components, application-specific TCBs Dependability → Accounting, trading, and tracking of physical resources

Exploring Sculpt a component-based operating system 5

slide-9
SLIDE 9

Clean-slate operating-system architecture

Least privilege → Capability-based security Mixed criticality → Isolated components, application-specific TCBs Dependability → Accounting, trading, and tracking of physical resources Scalability → Recursive system structure

Exploring Sculpt a component-based operating system 5

slide-10
SLIDE 10

Genode OS Architecture

Application-specific TCB (red area)

Exploring Sculpt a component-based operating system 6

slide-11
SLIDE 11

Genode OS Framework

Construction kit for special-purpose OSes Scales from embedded systems to general-purpose computing Hundreds of ready-to-use components Integration of existing OSes (virtualization, TrustZone) Dual licensing, open source (AGPLv3) and commercial licenses

Exploring Sculpt a component-based operating system 7

slide-12
SLIDE 12

The Book “Genode Foundations”

GENODE

Operating System Framework

Foundations

Norman Feske

https://genode.org/documentation/genode-foundations-18-05.pdf

Exploring Sculpt a component-based operating system 8

slide-13
SLIDE 13

Outline

  • 1. Background
  • 2. Sculpt OS overview
  • 3. Extending the system
  • 4. Sculpt Road Map

Exploring Sculpt a component-based operating system 9

slide-14
SLIDE 14

System integration and composition

Static “Turmvilla” scenario in 2014 → Changeable OS, limited to components at integration time Dynamic “Sculpt” OS in 2018 → shapeable general-purpose OS at run-time

◮ Sculpt for Early Adopters (EA) 18.02 (end of February) ◮ Sculpt for The Curious (TC) 18.05 (end of May)

→ Image available at https://genode.org/download/sculpt

Exploring Sculpt a component-based operating system 10

slide-15
SLIDE 15

System overview

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Exploring Sculpt a component-based operating system 11

slide-16
SLIDE 16

Static part of the system

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Exploring Sculpt a component-based operating system 12

slide-17
SLIDE 17

Static part of the system

Nitpicker GUI Server Report Report FS ROM Config FS Global Policy Leitzentrale Drivers Runtime initial config

Exploring Sculpt a component-based operating system 13

slide-18
SLIDE 18

Drivers subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Exploring Sculpt a component-based operating system 14

slide-19
SLIDE 19

Drivers subsystem

Microkernel / Core

Drivers

Dynamic Init Driver Manager USB Driver PS2 Driver Platform Driver ACPI Discovery Framebuffer Driver Block Driver Input Filter

platform input usb framebuffer block

config config state device info I/O MEM I/O PORT IRQ Exploring Sculpt a component-based operating system 15

slide-20
SLIDE 20

Leitzentrale subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Exploring Sculpt a component-based operating system 16

slide-21
SLIDE 21

Leitzentrale subsystem

Sulpt Manager /config/managed /config /report Fader nitpicker Log Noux /report Terminal Nit FB Fader Init Init Nitpicker Report FS Config FS

Leitzentrale

global policy

static system

Exploring Sculpt a component-based operating system 17

slide-22
SLIDE 22

Tweaking and inspecting the system

System is managed by the Sculpt Manager component

◮ Managed configurations stored in /config/managed/ ◮ Manual configuration override possible via /config/ ◮ Access via inspect option from the GUI

Provides GUI for manging aspects of the system

Exploring Sculpt a component-based operating system 18

slide-23
SLIDE 23

Runtime subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Exploring Sculpt a component-based operating system 19

slide-24
SLIDE 24

Runtime subsystem

Run-time is also managed by the Sculpt Manager component User controlled management via /config/deploy

◮ Uses deploy-mechanism to deploy and start additional

components

Exploring Sculpt a component-based operating system 20

slide-25
SLIDE 25

Outline

  • 1. Background
  • 2. Sculpt OS overview
  • 3. Extending the system
  • 4. Sculpt Road Map

Exploring Sculpt a component-based operating system 21

slide-26
SLIDE 26

Installing software

Storage location for downloads Storage location for installed software Source of software (download URL) Public key of software provider

Exploring Sculpt a component-based operating system 22

slide-27
SLIDE 27

Installing software

Download Manager What’s missing? Get download info Fetch Verify Extract archive list download URL, public key archives, signatures good or bad archive content

Exploring Sculpt a component-based operating system 23

slide-28
SLIDE 28

Installing software

read-only config (installation) What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager Depot Query config state missing content file system network file system /public /depot

Exploring Sculpt a component-based operating system 24

slide-29
SLIDE 29

Installing software

read-only What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager Depot Query config state public key, URL file system network file system /public /depot

Exploring Sculpt a component-based operating system 25

slide-30
SLIDE 30

Installing software

write What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager fetchurl

libcurl libssl TCP/IP

config state file system network file system /public /depot

Exploring Sculpt a component-based operating system 26

slide-31
SLIDE 31

Installing software

read-only What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager verify

GnuPG libgcrypt

config state good / bad file system network file system /public /depot

Exploring Sculpt a component-based operating system 27

slide-32
SLIDE 32

Installing software

read-only write write What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager extract chroot /<origin>

libarchive liblzma

config state file system network file system /public /depot

Exploring Sculpt a component-based operating system 28

slide-33
SLIDE 33

Installation ↔ Deployment

/depot is a cache Installation driven by deploy configuration Multiple versions/vendors side by side → Arbitrary rollback User-defined policy

Exploring Sculpt a component-based operating system 29

slide-34
SLIDE 34

Outline

  • 1. Background
  • 2. Sculpt OS overview
  • 3. Extending the system
  • 4. Sculpt Road Map

Exploring Sculpt a component-based operating system 30

slide-35
SLIDE 35

Sculpt road map for 2018

Sculpt by Visual Composition (VC) → 18.08 (end of August) Sculpt as a Community Experience (CE) → 18.11 (end of the year) Details at https://genode.org/about/road-map

Exploring Sculpt a component-based operating system 31

slide-36
SLIDE 36

Thank you

Genode OS Framework https://genode.org Genode Labs GmbH https://www.genode-labs.com Source code at GitHub https://github.com/genodelabs/genode

Exploring Sculpt a component-based operating system 32