Genode As General-Purpose OS Progress Report and Demonstration
Total Page:16
File Type:pdf, Size:1020Kb
Genode as general-purpose OS progress report and demonstration Norman Feske <[email protected]> Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration2 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration3 Myths Genode as general-purpose OS progress report and demonstration4 Key technologies Microkernels Decomponentization, kernelization Capability-based security Virtualization Genode as general-purpose OS progress report and demonstration5 Genode architecture ! Application-specific TCB Genode as general-purpose OS progress report and demonstration6 Combined with virtualization Genode as general-purpose OS progress report and demonstration7 How to get there? Found a company! Genode Labs, founded in May 2008, self-funded Systems research and development Idea: Start small, build sustainable business, grow organically Team of 8 people Small yet diverse customer base Main source of income is contracting work Genode as general-purpose OS progress report and demonstration8 Components Genode as general-purpose OS progress report and demonstration9 Components Genode as general-purpose OS progress report and demonstration 10 Components Genode as general-purpose OS progress report and demonstration 11 Components Genode as general-purpose OS progress report and demonstration 12 Components Genode as general-purpose OS progress report and demonstration 13 Components Genode as general-purpose OS progress report and demonstration 14 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 15 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 16 Fundamentals - NOVA kernel IOMMU support Kernel-memory reuse Multi-processor support Genode as general-purpose OS progress report and demonstration 17 Fundamentals - Affinity management Genode as general-purpose OS progress report and demonstration 18 Fundamentals - OS infrastructure Device drivers ! essential drivers are in place (NIC, graphics, input, USB, audio, SATA) File systems I per-process virtual file system I FUSE I Rump TCP/IP I lwIP I Linux TCP/IP for gigabit networking Genode as general-purpose OS progress report and demonstration 19 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 20 Functionality Simple CLI Virtualization as a stop-gap solution I Vancouver aka Seoul I VirtualBox Noux runtime for GNU software GNU debugger Qt5 I Change from QWS to QPA I QML Genode as general-purpose OS progress report and demonstration 21 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 22 Tracing: Wish list Negligible performance overhead Kernel independence Accountability of used resources Useful level of abstraction Runtime-defined tracing policies Low-complexity implementation Online and offline analysis Genode as general-purpose OS progress report and demonstration 23 Tracing: Mechanism Genode as general-purpose OS progress report and demonstration 24 Resource management Explicit assignment of physical resources to processes Genode as general-purpose OS progress report and demonstration 25 Resource management (II) Resources can be attached to sessions Genode as general-purpose OS progress report and demonstration 26 Resource management (III) Server-side heap partitioning Genode as general-purpose OS progress report and demonstration 27 Dynamic resource balancing Not all use cases could be covered. Caches (i. e., block cache) Ballooning ! refined parent interface Genode as general-purpose OS progress report and demonstration 28 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 29 Automated tests Genode as general-purpose OS progress report and demonstration 30 Automated tests (II) Genode as general-purpose OS progress report and demonstration 31 Automated benchmarks Genode as general-purpose OS progress report and demonstration 32 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 33 Capability-based user interface User interface that matches Genode's concepts Ideas: Composed out of many small inter-changeable building blocks Data centric Capability-based Command-line and graphical interface Genode as general-purpose OS progress report and demonstration 34 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 35 Sidelines Samsung Exynos-5 (SATA 3.0, USB 3, HDMI, eMMC, NIC, DVFS) Freescale i.MX Raspberry Pi Genode as general-purpose OS progress report and demonstration 36 Outline 1. Introduction 2. The long way towards general-purpose computing Fundamentals Functionality Resource utilization Stability 3. What is left to be desired? 4. Sidelines 5. Road map 2014 Genode as general-purpose OS progress report and demonstration 37 Road map 2014 Capability-based user interface Custom base-hw kernel platform I MP support I Capability-based security I Virtualization 3rd-party source-code package management Improved block-level infrastructure (block cache, block encryption) Wireless networking Genode as general-purpose OS progress report and demonstration 38 Thank you Genode OS Framework http://genode.org Genode Labs GmbH http://www.genode-labs.com Source code at GitHub http://github.com/genodelabs/genode Genode as general-purpose OS progress report and demonstration 39.