Exploring Sculpt a component-based operating system Josef Söntgen < 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 system 2
Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 3
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
Clean-slate operating-system architecture Exploring Sculpt a component-based operating system 5
Clean-slate operating-system architecture Least privilege → Capability-based security Exploring Sculpt a component-based operating system 5
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
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
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
Genode OS Architecture Application-specific TCB (red area) Exploring Sculpt a component-based operating system 6
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
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
Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 9
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
System overview Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 11
Static part of the system Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 12
Static part of the system Drivers Leitzentrale Runtime Global Nitpicker Report ROM Policy GUI Server Report FS Config FS initial config Exploring Sculpt a component-based operating system 13
Drivers subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 14
Drivers subsystem Drivers Framebuffer Block Driver Driver state device info ACPI Driver Platform USB Dynamic Discovery Driver Driver Manager Init PS2 Driver config config Input Filter platform input usb framebuffer block I/O I/O Microkernel / Core IRQ MEM PORT Exploring Sculpt a component-based operating system 15
Leitzentrale subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 16
Leitzentrale subsystem Leitzentrale Sulpt Manager Log Noux /config/managed /config /report /report nitpicker Terminal Fader Nit FB Fader Init Init Nitpicker global Report FS policy static system Config FS Exploring Sculpt a component-based operating system 17
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
Runtime subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 19
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
Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 21
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
Installing software archive list Get download info What’s missing? download URL, public key archive content Download Manager Fetch Extract archives, signatures Verify good or bad Exploring Sculpt a component-based operating system 23
Installing software Get What’s download Fetch Verify Extract missing? info Depot missing Query content state Download Dynamic Manager Init config config read-only (installation) network file system file system /public /depot Exploring Sculpt a component-based operating system 24
Installing software Get What’s download Fetch Verify Extract missing? info Depot public key, Query URL state Download Dynamic Manager Init config read-only network file system file system /public /depot Exploring Sculpt a component-based operating system 25
Installing software Get What’s download Fetch Verify Extract missing? info fetchurl libcurl libssl TCP/IP state Download Dynamic Manager Init config write network file system file system /public /depot Exploring Sculpt a component-based operating system 26
Installing software Get What’s download Fetch Verify Extract missing? info verify GnuPG good / libgcrypt bad state Download Dynamic Manager Init config read-only network file system file system /public /depot Exploring Sculpt a component-based operating system 27
Installing software Get What’s download Fetch Verify Extract missing? info extract chroot libarchive /<origin> liblzma write state Download Dynamic Manager Init config read-only write network file system file system /public /depot Exploring Sculpt a component-based operating system 28
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
Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 30
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
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
Recommend
More recommend