Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group

MICROKERNEL-BASED OPERATING SYSTEMS INTRODUCTION

CARSTEN WEINHOLD Lecture Goals

2 Organization: Lecture

• Lecture every week • Online, as downloadable videos • Uploaded at the beginning of the week

• Subscribe to mailing list: • https://os.inf.tu-dresden.de/mailman/listinfo/mos2020

3 Organization: Exercises

• Exercises (roughly) bi-weekly Tuesday, 2:50 PM

• Practical exercises: • Computer lab or online (announced on mailing list)

• Paper reading exercises: • Read a paper beforehand • Sum it up and prepare 3 questions • We expect you to actively participate in discussion

• First exercise: in two weeks

• To be announced on website and mailing list 4 More Hands-On: Complex Lab

• Complex lab -based Operating Systems • Build several components of an OS

• This term, in parallel to lecture • Starts in week of November 23, 2020 • Watch for announcement on complex lab website and on MOS lecture mailing list

5 MICROKERNEL-BASED OPERATING SYSTEMS INTRODUCTION

6 Purpose of an

7 Monolithic Kernels:

8 Monolithic Kernels: Problems

9 The Microkernel Vision

10 The Microkernel Vision

11 What Can Give Us …

12 : A 1st-generation Microkernel

13 Mach: Feature Overview

14 Case Study: IBM Workplace OS

15 IBM Workplace OS: A Failure?

16 IBM Workplace OS: Lessons Learned

17 Mircokernels: Proven Advantages

18 Challenges

19 Who Else Is Out There?

20 The L4 Family Tree

21 L4: Key Concepts

22 TAKING A CLOSER LOOK: L4/FIASCO.OC AS A CASE STUDY

23 L4/Fiasco.OC

24 L4/Fiasco.OC: Kernel Objects

25 L4/Fiasco.OC: User-Level Objects

26 How to Call an Object?

27 L4/Fiasco.OC: Capabilities

28 Capabilities as Local Names

29 L4/Fiasco.OC: Object Capabilities

30 L4/Fiasco.OC: Communication

31 MORE L4 CONCEPTS

32 L4/Fiasco.OC: Threads

Address Space

33 L4/Fiasco.OC:

34 Problem: Memory Partitioning

35 Solution:

36 L4: Recursive Address Spaces

37 L4: Resource Mappings

38 L4/Fiasco.OC: Object Types

39 WHAT CAN BE BUILT ON L4?

40 Kernel vs Operating System

41 Linux on L4

42 Real-Time and Non-Real-Time

43 Virtual Machines

44

45 Lecture Outline

46