exploring sculpt
play

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


  1. Exploring Sculpt a component-based operating system Josef Söntgen < josef.soentgen@genode-labs.com >

  2. Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 2

  3. Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 3

  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

  5. Clean-slate operating-system architecture Exploring Sculpt a component-based operating system 5

  6. Clean-slate operating-system architecture Least privilege → Capability-based security Exploring Sculpt a component-based operating system 5

  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

  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

  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

  10. Genode OS Architecture Application-specific TCB (red area) Exploring Sculpt a component-based operating system 6

  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

  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

  13. Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 9

  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

  15. System overview Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 11

  16. Static part of the system Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 12

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

  18. Drivers subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 14

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

  20. Leitzentrale subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 16

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

  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

  23. Runtime subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Exploring Sculpt a component-based operating system 19

  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

  25. Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 21

  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

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

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

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

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

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

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

  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

  34. Outline 1. Background 2. Sculpt OS overview 3. Extending the system 4. Sculpt Road Map Exploring Sculpt a component-based operating system 30

  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

  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

Recommend


More recommend