Die L4- -Mikrokern Mikrokern- -Familie Familie Die L4 - - PowerPoint PPT Presentation

die l4 mikrokern mikrokern familie familie die l4
SMART_READER_LITE
LIVE PREVIEW

Die L4- -Mikrokern Mikrokern- -Familie Familie Die L4 - - PowerPoint PPT Presentation

Die L4- -Mikrokern Mikrokern- -Familie Familie Die L4 Hauptseminar Anstze fr Betriebssysteme der Zukunft Hauptseminar Anstze fr Betriebssysteme der Zukunft Michael Steil Michael Steil 18.04.2002 18.04.2002 18.04.2002 18.04.2002


slide-1
SLIDE 1

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 1 Folie 1

Die L4 Die L4-

  • Mikrokern

Mikrokern-

  • Familie

Familie

Hauptseminar Ansätze für Betriebssysteme der Zukunft Hauptseminar Ansätze für Betriebssysteme der Zukunft Michael Steil Michael Steil 18.04.2002 18.04.2002

slide-2
SLIDE 2

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 2 Folie 2

Aufbau des Vortrags Aufbau des Vortrags

1.

  • 1. Mikrokerne: Idee und Geschichte

Mikrokerne: Idee und Geschichte 2.

  • 2. L4: ein schneller Mikrokern

L4: ein schneller Mikrokern 3.

  • 3. L4Linux: Linux auf einem Mikrokern

L4Linux: Linux auf einem Mikrokern 4.

  • 4. Weiterentwicklungen, Zukunft

Weiterentwicklungen, Zukunft

slide-3
SLIDE 3

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 3 Folie 3

Geschichte der Kernarchitektur Geschichte der Kernarchitektur

  • Monolithische Kerne

Monolithische Kerne

  • Mikrokerne der ersten Generation

Mikrokerne der ersten Generation

  • Mikrokerne mit Kompromissen

Mikrokerne mit Kompromissen

  • Mikrokerne der zweiten Generation

Mikrokerne der zweiten Generation

slide-4
SLIDE 4

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 4 Folie 4

slide-5
SLIDE 5

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 5 Folie 5

Monolithische Kerne Monolithische Kerne

  • Alles zu einem Binary gebunden

Alles zu einem Binary gebunden

  • Wenig Struktur, wenig Schichtung, wenig Interfaces

Wenig Struktur, wenig Schichtung, wenig Interfaces

Character Devices Network device drivers Disk device drivers Process dispatching Process scheduling Buffer Cache Routing Cooked tty Page Cache Raw tty Line disciplines Terminal handling Network protocols Sockets File systems Virtual Memory

Map- ping

Page Faults

File naming Signal handling Process creation System calls Interrupts and Traps 4.4BSD Kern 4.4BSD Kern

slide-6
SLIDE 6

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 6 Folie 6

Vor Vor-

  • und Nachteile

und Nachteile

  • Vorteile

Vorteile

– – (Zunächst) einfache Entwicklung (Zunächst) einfache Entwicklung – – Hohe Geschwindigkeit Hohe Geschwindigkeit

  • Nachteile

Nachteile

– – Mangelnde Robustheit Mangelnde Robustheit – – Mangelnde Modularität Mangelnde Modularität und somit und somit s schlechte Wartbarkeit chlechte Wartbarkeit – – Mangelnde Flexibilität Mangelnde Flexibilität

slide-7
SLIDE 7

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 7 Folie 7

Mikrokerne Mikrokerne

„ „Traditionell wird das Wort ‚Kern‘ zur Bezeichnung Traditionell wird das Wort ‚Kern‘ zur Bezeichnung desjenigen Teils des Betriebssysstems desjenigen Teils des Betriebssysstems verwendet, den alles andere an Software verwendet, den alles andere an Software verpflichtend gemeinsam hat. verpflichtend gemeinsam hat. Die grundsätzliche Idee des Mikrokern Die grundsätzliche Idee des Mikrokern-

  • Ansatzes

Ansatzes ist es, diesen Teil zu minimieren, d.h. was immer ist es, diesen Teil zu minimieren, d.h. was immer möglich ist außerhalb des Kerns zu möglich ist außerhalb des Kerns zu implementieren.” implementieren.”

  • J. Liedtke
  • J. Liedtke
slide-8
SLIDE 8

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 8 Folie 8

Mikrokern

Mikrokerne Mikrokerne

  • Minimierung des Kerns

Minimierung des Kerns

  • User

User-

  • Mode

Mode-

  • „Server“

„Server“

IPC Scheduler Speicher Grafik-Treiber Sound-Treiber HD-Treiber Pager Dateisystem Anwendung Kernel Mode User Mode Anwendung Server Kern Grafik-API Sound-API Dateisystem-API

slide-9
SLIDE 9

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 9 Folie 9

OS Personalities OS Personalities

  • Sammlung von Servern, die ein BS ausmachen

Sammlung von Servern, die ein BS ausmachen

  • Mehrere Personalities gleichzeitig möglich

Mehrere Personalities gleichzeitig möglich

Linux-Kern Bibliotheken WINE Linux- Anwendung Windows- Anwendung Linux mit WINE Mikrokern-Kern Windows-Server Linux-Server Linux- Bibliotheken Linux- Anwendung Windows- Bibliotheken Windows- Anwendung Mikrokern mit zwei Personalities

slide-10
SLIDE 10

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 10 Folie 10

Vor Vor-

  • und Nachteile

und Nachteile

  • Vorteile

Vorteile

– – Höhere Robustheit Höhere Robustheit – – H Hö öhere Modularit here Modularitä ät t – – H Hö öhere Flexibilit here Flexibilitä ät t – – Höhere Sicherheit Höhere Sicherheit – – Geringerer Speicherbedarf Geringerer Speicherbedarf – – Bessere Reaktionszeit auf Interrupts Bessere Reaktionszeit auf Interrupts – – Einfacherer Umgang mit SMP Einfacherer Umgang mit SMP

  • Nachteil

Nachteil

– – Massive Performanceprobleme aufgrund der Massive Performanceprobleme aufgrund der gesteigerten Interproze gesteigerten Interprozeß ßkommunikation kommunikation

slide-11
SLIDE 11

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 11 Folie 11

Mikrokerne mit Kompromissen Mikrokerne mit Kompromissen

  • IPC

IPC-

  • Performance war nicht signifikant zu steigern

Performance war nicht signifikant zu steigern

  • Reintegration zeitkritischer Server in den Kern

Reintegration zeitkritischer Server in den Kern

  • Vorteile nur eingeschränkt erhalten

Vorteile nur eingeschränkt erhalten

„Mikrokern“ IPC Scheduler Speicher Grafik-API Sound-Treiber HD-Treiber Pager Dateisystem-API Anwendung Kernel Mode User Mode Sound-API Grafik-Treiber Dateisystem ...

slide-12
SLIDE 12

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 12 Folie 12

Die zweite Generation Die zweite Generation

  • Eigenschaften:

Eigenschaften:

– – Höhere Geschwindigkeit Höhere Geschwindigkeit – – Höhere Flexibilität Höhere Flexibilität

  • Hauptvertreter

Hauptvertreter

– – L4 L4 – – QNX Neutrino QNX Neutrino

slide-13
SLIDE 13

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 13 Folie 13

L4 L4

  • Mikrokern der zweiten Generation

Mikrokern der zweiten Generation

  • Entwickelt von Prof. Jochen Liedtke bei der

Entwickelt von Prof. Jochen Liedtke bei der GMD, bei IBM und an der Universität Karlsruhe GMD, bei IBM und an der Universität Karlsruhe

  • Viele Implementierungen:

Viele Implementierungen:

– – L4/x86 L4/x86 – – L4/Alpha, L4/MIPS L4/Alpha, L4/MIPS – – Fiasco (Dresden) Fiasco (Dresden) – – Hazelnut (Karlsruhe) Hazelnut (Karlsruhe) – – weitere weitere

slide-14
SLIDE 14

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 14 Folie 14

Geschwindigkeitsanalyse Geschwindigkeitsanalyse

Potentielle Performance Potentielle Performance-

  • Bremsen

Bremsen

– – Umschalten zwischen Kernel Umschalten zwischen Kernel-

  • und User

und User-

  • Mode

Mode – – Kontextwechsel Kontextwechsel – – IPC IPC

Konzeption nicht f Konzeption nicht fü ür Performance r Performance-

  • Probleme

Probleme verantwortlich, verantwortlich, Implementierungen Implementierungen verantwortlich! verantwortlich!

slide-15
SLIDE 15

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 15 Folie 15

Geschwindigkeitssteigerung Geschwindigkeitssteigerung

Designprinzipien: Designprinzipien:

– – Bottom Bottom-

  • Up

Up-

  • Konstruktion

Konstruktion – – Minimale Minimale Abstraktion der Maschine Abstraktion der Maschine – – Kern notwendigerweise in Assembler Kern notwendigerweise in Assembler geschrieben geschrieben

slide-16
SLIDE 16

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 16 Folie 16

Architektur von L4 Architektur von L4

  • Kern kümmert sich nur um:

Kern kümmert sich nur um:

– – Maschinenverwaltung Maschinenverwaltung – – Grundlegende Speichervergabe Grundlegende Speichervergabe – – Thread Thread-

  • Verwaltung, Scheduling

Verwaltung, Scheduling – – Interprozeßkommunikation Interprozeßkommunikation

  • Nur sieben Systemaufrufe

Nur sieben Systemaufrufe

thread_schedule thread_schedule lthread_ex_regs lthread_ex_regs task_new task_new ipc ipc id_nearest id_nearest fpage_unma fpage_unma p p thread_switc thread_switc h h

slide-17
SLIDE 17

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 17 Folie 17

Speicher Speicher

Physischer Speicher Speicher des Pagers/Speichermanagers L4 Speicher einer Anwendung Code Code kein Speicher nicht belegt nicht belegt

slide-18
SLIDE 18

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 18 Folie 18

Threads, Tasks, Scheduling Threads, Tasks, Scheduling

Konzepte Konzepte

– – Task: Adreßraum mit Threads Task: Adreßraum mit Threads – – Maximale Anzahl an Tasks und Threads Maximale Anzahl an Tasks und Threads – – Einfaches Scheduling im Kern Einfaches Scheduling im Kern – – Externer Scheduler möglich Externer Scheduler möglich

slide-19
SLIDE 19

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 19 Folie 19

Interprozeßkommunikation Interprozeßkommunikation

Konzepte Konzepte

– – Synchron und ungepuffert Synchron und ungepuffert – – Kombination über „call“ und „reply&receive next“ Kombination über „call“ und „reply&receive next“ – – Komplexe Nachrichten Komplexe Nachrichten – – Kurze Nachrichten über Register Kurze Nachrichten über Register

slide-20
SLIDE 20

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 20 Folie 20

Clan

Clans & Chiefs Clans & Chiefs

  • Schützen von Prozessen

Schützen von Prozessen

  • Sandbox

Sandbox

  • Kompatibilität

Kompatibilität

  • Angriffe aus dem Netz

Angriffe aus dem Netz

Task Task Task Chief Clan Task Task Chief Clan Task Chief

slide-21
SLIDE 21

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 21 Folie 21

Wie funktioniert dann...? Wie funktioniert dann...?

  • Speicherverwaltung

Speicherverwaltung

  • Scheduler

Scheduler

  • Echtzeit

Echtzeit

  • Treiber

Treiber

  • Systeminformationen

Systeminformationen

  • Simulation einer Umgebung

Simulation einer Umgebung

slide-22
SLIDE 22

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 22 Folie 22

L4Linux L4Linux

  • DROPS

DROPS-

  • Projekt

Projekt

– – Echtzeit Echtzeit-

  • Betriebssystem auf L4

Betriebssystem auf L4-

  • Basis

Basis – – UNIX Personality nötig UNIX Personality nötig

  • Diplomarbeit von M. Hohmuth 1996

Diplomarbeit von M. Hohmuth 1996

  • Portierung von Linux 2.0 auf L4

Portierung von Linux 2.0 auf L4

  • Ziele

Ziele

– – vollständig im User vollständig im User-

  • Mode

Mode – – Binärkompatibilität Binärkompatibilität – – Test von L4 Test von L4

slide-23
SLIDE 23

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 23 Folie 23

L4Linux L4Linux

L4-Kern Linux-Server Kernel Mode User Mode Root Pager Service Thread INT Thread 1 INT Thread 2 INT Thread 3 Bottom Halves Thread Linux-Anwendung Trampoline Thread User Thread 1 User Thread 2 User Thread 3 Signal Thread

slide-24
SLIDE 24

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 24 Folie 24

Wieso? Wieso?

  • Leistung schlechter als echtes Linux,

Leistung schlechter als echtes Linux, aber besser als MkLinux aber besser als MkLinux

  • Zunächst keine der drei Hauptvorteile

Zunächst keine der drei Hauptvorteile

  • Aber neue Möglichkeiten:

Aber neue Möglichkeiten:

– – Parallele Personality Parallele Personality – – Treiber direkt auf L4 Treiber direkt auf L4 – – Höhere Geschwindigkeit Höhere Geschwindigkeit

slide-25
SLIDE 25

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 25 Folie 25

Zusammenfassung Zusammenfassung

  • Mikrokerne

Mikrokerne

– – haben viele Vorteile haben viele Vorteile – – sind in der Regel langsam sind in der Regel langsam

  • L4 ist

L4 ist

– – ein Mikrokern der zweiten Generation ein Mikrokern der zweiten Generation – – fast so schnell wie monolithische Kerne fast so schnell wie monolithische Kerne

  • Linux

Linux-

  • Personality auf L4

Personality auf L4

– – existiert und funktioniert existiert und funktioniert – – ist nur unbedeutend langsamer ist nur unbedeutend langsamer

slide-26
SLIDE 26

18.04.2002 18.04.2002 Die L4 Die L4-Mikrokern Mikrokern-Familie Familie Michael Steil Michael Steil Folie 26 Folie 26

Zukunft Zukunft

  • Tod von Jochen Liedtke 2001

Tod von Jochen Liedtke 2001

  • Erfahrungen mit L4,

Erfahrungen mit L4, fortschreitende Prozessorentwicklung fortschreitende Prozessorentwicklung

  • 64

64-

  • Bit

Bit-

  • Version

Version

  • Geschwindigkeit von C++

Geschwindigkeit von C++-

  • Implementierungen

Implementierungen