52
Betriebssysteme (BS) VL 14 – Zusammenfassung und Ausblick Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg WS 12 – 8. Februar 2012 http://www4.informatik.uni-erlangen.de/Lehre/WS12/V _ BS

Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Embed Size (px)

Citation preview

Page 1: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Betriebssysteme (BS)

VL 14 – Zusammenfassungund Ausblick

Daniel Lohmann

Lehrstuhl für Informatik 4Verteilte Systeme und Betriebssysteme

Friedrich-Alexander-UniversitätErlangen Nürnberg

WS 12 – 8. Februar 2012

http://www4.informatik.uni-erlangen.de/Lehre/WS12/V_BS

Page 2: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Lernziele ;VL 1

Vertiefen des Wissens über die interneFunktionsweise von Betriebssystemen

Ausgangspunkt: Systemprogrammierung

Schwerpunkt: Nebenläufigkeit und Synchronisation

Entwickeln eines Betriebssystems von der Pike auf

OOStuBS / MPStuBS (neu!) Lehrbetriebssysteme

Praktische Erfahrungen im Betriebsystembau machen

Verstehen der technologischen Hardware-Grundlagen

PC-Technologie verstehen und einschätzen können

Schwerpunkt: Intel x86 / IA-32

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 2

Page 3: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Überblick Vorlesungen

Hardware

Anwendung(en)

Gerätezugriff(Treiber)

Unterbrechungs-behandlung

Interprozess-kommunikation

Kontrollfluss-abstraktion

Unterbrechungs-synchronisation

Prozessverwaltung

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 3

Page 4: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

VL1 Einführung

VL2 BS-Entwicklung

VL3 IRQs (Hardware)

VL4 IRQs (Software)

VL5 IRQs (Synchronisation)

VL6 Intel IA-32

VL7 Koroutinen und Fäden

VL8 Scheduling

VL9 BS-Architekturen

VL10 Fadensynchronisation

VL11 PC Bussysteme

VL12 Gerätetreiber

VL13 IPC

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 5: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

1. Ein Streifzug durch die PC-Architektur

VL1 Einführung

VL2 BS-Entwicklung

VL3 IRQs (Hardware)

VL4 IRQs (Software)

VL5 IRQs (Synchronisation)

VL6 Intel IA-32

VL7 Koroutinen und Fäden

VL8 Scheduling

VL9 BS-Architekturen

VL10 Fadensynchronisation

VL11 PC Bussysteme

VL12 Gerätetreiber

VL13 IPC

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 6: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

1. Ein Streifzug durch die PC-Architektur

dl Betriebssysteme (VL 6 | WS 12) IA-32 6 – 19

IA-32: Protected Mode – Segmente

Selektor

Segment Register

SSGSFSESDSCS

Basis-RegisterBasis-Register

Index-RegisterIndex-Register

xScale

1, 2, 4 oder 8

Scale

1, 2, 4 oder 8

Displacement

(im Befehl)

Displacement

(im Befehl)+

Flags

LimitStartadresse

Tabelle

Segmentdeskriptoren

selektiertes

Segment

selektiertes

Segment

Operand+

effektive

Adresse

Startadresse

des Segments

lineare

Adresse

0

linearer

AdressraumSegment-

grenze

CS

DS

ES

FS

GS

SS

0

Limit

dl Betriebssysteme (VL 11 | WS 12) PC-Bussysteme 11 – 10

Interaktion mit PCI Geräten

0x00000000

0xFFFFFFFF

Speicheradressraum

...

0x00000000

0xFFFFFFFF

(0xFFFF

beim PC)

I/O-Adressraum

...

Geräte-

treiber

Konfigurationsadressraum

PCI

BIOS

0:1.0

0:1.1

0:2.0

PCI

Initiali-

sierung

PCI Geräte

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 7: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

2. Kontrollflüsse und ihre Interaktionen

VL1 Einführung

VL2 BS-Entwicklung

VL3 IRQs (Hardware)

VL4 IRQs (Software)

VL5 IRQs (Synchronisation)

VL6 Intel IA-32

VL7 Koroutinen und Fäden

VL8 Scheduling

VL9 BS-Architekturen

VL10 Fadensynchronisation

VL11 PC Bussysteme

VL12 Gerätetreiber

VL13 IPC

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 8: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

2. Kontrollflüsse und ihre InteraktionenPrioritätsebenenmodell

Kontrollflüsse können die Ebene wechselnMit cli wechselt ein E0-Kontrollfluss explizit auf E1

er ist ab dann nicht mehr unterbrechbarandere E1-Kontrollflüsse werden verzögert (← Sequentialisierung)

Mit sti wechselt ein E1-Kontrollfluss explizit auf E0

er ist ab dann (wieder) unterbrechbaranhängige E1-Kontrollflüsse „schlagen durch“ (← Sequentialisierung)

E1(nicht unterbrechbar)

E0(unterbrechbar)

t1 t2 t3 t4 t5 t6� �t

cli sti

unte

rbri

cht

unte

rbri

cht

verzögert

unte

rbri

cht(

imp

lizit

)

kannverzögern

(exp

lizit)

dl Betriebssysteme (VL 5 | WS 12) 5 Unterbrechungen, Synchronisation – Prioritätsebenenmodell 5 – 13

Erweitertes Prioritätsebenenmodell

Kontrollflüsse auf El werden1. jederzeit unterbrochen durch Kontrollflüsse von Em (für m > l)2. nie unterbrochen durch Kontrollflüsse von Ek (für k ≤ l)3. jederzeit verdrängt durch Kontrollflüsse von El (für l = 0)

E1(nicht unterbrechbar, nicht verdrängbar)

E1/2(unterbrechbar, nicht verdrängbar)

E0(unterbrechbar, verdrängbar)

7→ Fadenebene

7→ Epilogebene

7→ Unterbrechungsebene

Kontrollflüsse der E0 (Faden-ebene) sind verdrängbar.

Für die Konsistenzssicherungauf dieser Ebene brauche wirzusätzliche Mechanismen zurFadensynchronisation.

dl Betriebssysteme (VL 10 | WS 12) 10 Fadensynchronisation – Prioritätsebenenmodell mit Fäden 10 – 10

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 9: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

2. Kontrollflüsse und ihre Interaktionen

VL1 Einführung

VL2 BS-Entwicklung Ü0 Einführung

VL3 IRQs (Hardware) Ü1 Ein-/Ausgabe

VL4 IRQs (Software) Ü2 IRQ-Behandlung

VL5 IRQs (Synchronisation)

VL6 Intel IA-32 Ü3 IRQ-Synchronisation

VL7 Koroutinen und Fäden

VL8 Scheduling Ü4 Fadenumschaltung

VL9 BS-Architekturen Ü5 Zeitscheiben-Scheduling

VL10 Fadensynchronisation

VL11 PC Bussysteme Ü6 Fadensynchronisation

VL12 Gerätetreiber

VL13 IPC Ü7 “Eine Anwendung” (opt.)

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 10: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

2. Kontrollflüsse und ihre Interaktionen

Customer Waitingroom

WatchPanic

Scheduler

Organizer

Guarded_Semaphore Guarded_KeyboardGuarded_Buzzer

Keyboard

Semaphore

Gate

IO_Port

Locker

Buzzer

Application

Stringbuffer

Guarded_Organizer

CGA_Stream

Guard

Entrant

List

Thread Random

PlugboxPICCGA_Screen

Bellringer

Keyboard_Controller

O_Stream

Chain

Key

Secure

Coroutine

PIT

Queue

toc

CPU

Dispatcher

Bell

...

user

device

guard

meeting

machine

thread object

syscall library

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 11: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

3. BS-Konzept allgemein und am Beispiel (Windows/Linux)

VL1 Einführung

VL2 BS-Entwicklung

VL3 IRQs (Hardware)

VL4 IRQs (Software)

VL5 IRQs (Synchronisation)

VL6 Intel IA-32

VL7 Koroutinen und Fäden

VL8 Scheduling

VL9 BS-Architekturen

VL10 Fadensynchronisation

VL11 PC Bussysteme

VL12 Gerätetreiber

VL13 IPC

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 12: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Was wir gemacht haben Drei inhaltliche Schwerpunkte!

3. BS-Konzept allgemein und am Beispiel (Windows/Linux)

dl Betriebssysteme (VL 8 | WS 12) Fadenverwaltung 8 – 26

Linux Tasks ...

■ sind die Linux Kernel-�bstraktion für ...

UNIX Prozesse: ein Kontrollfaden in einem Adressraum

Linux Threads: spezieller Prozess, der sich seinenvirtuellen Adressraum mit mindestens einemanderen Thread teilt

■ sind die vom Scheduler betrachteten Aktivitäten➔ ein Programm mit vielen Threads bekommt unter Linux mehr

Rechenzeit (innerhalb einer scheduling group) als ein klassischer Prozess

gleiches gilt allerdings auch für ein Programm mit einem

Prozess und vielen Kindprozessen

dl Betriebssysteme (VL 12 | WS 12) Gerätetreiber 12 – 29

Windows – typischer E/A-Ablauf

Platten-

treiber

Platten-

treiber

Platten-

treiber

Platten-

treiber

Dateisystem-

treiber

Dateisystem-

treiber

Systemdienste

E/A-

Manager

1

2

4

NtWriteFile(file_handle, char_buffer)

über das Dateiobjekt wird das

Dateisystem und der Treiber

gefunden

Daten an bestimmten Byte-

Offset in Datei schreiben

Position auf Datenträger

berechnen

E/A Auftrag weitergeben

Daten an best. Byte Offset

auf Datenträger schreiben

Position in Plattennr. und

Offset umrechen

E/A Auftrag weitergeben

Daten an best. Byte Offset

auf Platte 2 schreiben

Phys. Block berechnen und

Operation initiieren

über das Dateiobjekt wird das

Dateisystem und der Treiber

gefunden

Daten an bestimmten Byte-

Offset in Datei schreiben

Position auf Datenträger

berechnen

E/A Auftrag weitergeben

Daten an best. Byte Offset

auf Datenträger schreiben

Position in Plattennr. und

Offset umrechen

E/A Auftrag weitergeben

Daten an best. Byte Offset

auf Platte 2 schreiben

Phys. Block berechnen und

Operation initiieren

3

1

2

3

4

5

6

7

8

9

5

7

6

8

9

10 Rückkehr zum Anwendungsprozess!

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 4

Page 13: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Zusammen eine ganze Menge!

Hardware

Anwendung(en)

Gerätezugriff(Treiber)

Unterbrechungs-behandlung

Interprozess-kommunikation

Kontrollfluss-abstraktion

Unterbrechungs-synchronisation

Prozessverwaltung

Betriebssystementwicklung

BetriebssystemeBetriebssysteme

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 5

Page 14: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Realitätscheck: MPStuBS ↔ “richtiges BS”

Es fehlt noch eine ganze Menge. . .

Speicherverwaltung und Prozesskonzept

Dateisystem und Programmlader

Netzwerk und TCP/IP

. . .

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 6

Page 15: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Realitätscheck: MPStuBS ↔ “richtiges BS”

Es fehlt noch eine ganze Menge. . .

Speicherverwaltung und Prozesskonzept

Dateisystem und Programmlader

Netzwerk und TCP/IP

. . .

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 6

Page 16: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Realitätscheck: MPStuBS ↔ “richtiges BS”

Es fehlt noch eine ganze Menge. . .

Speicherverwaltung und Prozesskonzept

Dateisystem und Programmlader

Netzwerk und TCP/IP

. . .

dl Betriebssysteme (VL 12 | WS 12) Gerätetreiber 12 – 6

Bedeutung von Gerätetreibern (1)

■ Anteil an Treibercode in Linux 3.2.1

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 6

Page 17: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Realitätscheck: MPStuBS ↔ “richtiges BS”

Es fehlt noch eine ganze Menge. . .

Speicherverwaltung und Prozesskonzept

Dateisystem und Programmlader

Netzwerk und TCP/IP

. . .

Beispiel Linux [5]Aug 91 Linux 0.01: bash, Dateisystem

Jan 92 Linux 0.12: Virtueller Speicher (Paging)

Mär 92 Linux 0.95: X-Windows, Unix Domain Sockets(jetzt fehlte nur noch Netzwerk!)

Mär 94 Linux 1.00: Netzwerk und TCP/IP

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ziele und Zielerreichung 14 – 6

Page 18: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Evaluation

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 7

Page 19: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Evaluationsergebnisse

WS 12/13 • Dipl.-Inf. Daniel Lohmann • Vorlesung • Betriebssysteme

27.01.2013 EvaSys Auswertung Seite 1

Dipl.-Inf. Daniel LohmannWS 12/13 • Betriebssysteme

ID = 12w-BSErfasste Rückläufer = 18 • Formular v_w12 • LV-Typ "Vorlesung"

GlobalwerteGlobalwerte

Globalindikator 51 mw=1.23s=0.42

1 2 3 4 5

Globalfragen für alle Lehrveranstaltungs-Typen (mitGewichtung)

51 mw=1.11s=0.26

1 2 3 4 5

Vorlesung im Allgemeinen 51 mw=1.31s=0.51

1 2 3 4 5

Didaktische Aufbereitung 51 mw=1.3s=0.52

1 2 3 4 5

Präsentation des Dozenten 51 mw=1.19s=0.4

1 2 3 4 5

LegendeFragetext Rechter PolLinker Pol n=Anzahl

mw=Mittelwerts=Std.-Abw.E.=Enthaltung

3

1

22

2

55

3

8

4

0

5

Absolute Häufigkeiten der Antworten Std.-Abw. Mittelwert

Skala Histogramm

Klick on british flag to get the english surveyAchtung: Beim Anklicken der Sprachsymbole verlieren Sie alle bisherigen Eintragungen !Klick on british flag to get the english surveyAchtung: Beim Anklicken der Sprachsymbole verlieren Sie alle bisherigen Eintragungen !

Allgemeines zur PersonAllgemeines zur Person

• Ich studiere folgenden Studiengang:2_A)

n=18INF • Informatik 15

IuK • Informations- und Kommunikationstechnik 3

• Ich mache folgenden Abschluss:2_B)

n=18Dipl. • Diplom 0

B.Sc. • Bachelor of Science 9

M.Sc. • Master of Science 9

Staatsexamen 0

Dr.-Ing. • Promotion 0

PhD • Doctor of Philosophy 0

Dipl.-Ing. mit Zusatzzertifikat 0

M.Sc.(hons) • Master of Science with Honours 0

Zwei-Fach-Bachelor of Arts 0

Sonstiges 0

Vergleich mit den Vorjahren

WS 12: n=18 (51%) mw=1.23

WS 11: n=17 (53%) mw=1.30

WS 10: n=9 (29%) mw=1.42

WS 09: n=19 (100%) mw=1.34

WS 08: n=7 (27%) mw=1.41

WS 07: n=16 (50%) mw=1.39

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 8

Page 20: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Profilline

WS 12/13 • Dipl.-Inf. Daniel Lohmann • Vorlesung • Betriebssysteme

27.01.2013 EvaSys Auswertung Seite 6

ProfillinieTeilbereich: Technische Fakultät (TF)Name der/des Lehrenden: Dipl.-Inf. Daniel LohmannTitel der Lehrveranstaltung:(Name der Umfrage)

Betriebssysteme (12w-BS)

Vergleichslinie: Mittelwert aller Vorlesungs-Fragebögenim WS 12/13

Globalfragen für alle Lehrveranstaltungs-Typen (mit Gewichtung)Globalfragen für alle Lehrveranstaltungs-Typen (mit Gewichtung)

4_A) • Bitte benoten Sie die Vorlesung insgesamt (50%): sehr gut mangelhaftn=18mw=1.06

mw=2.03 n=3811

4_B) • Der notwendige Arbeitsaufwand für diese Vorlesung ist (12,5%): angemessen unangemessenn=18mw=1.28

mw=2.06 n=3809

4_C) • Wie ist die Vorlesung strukturiert (12,5%)? sehr gut mangelhaftn=18mw=1.17

mw=1.95 n=3810

4_D) • Der Dozent wirkt engagiert und motiviert bei der Durchführung derVorlesung (12,5%).

sehr stark überhaupt nichtn=18mw=1

mw=1.63 n=3810

4_E) • Der Dozent geht auf Fragen und Belange der Studierenden ein(12,5%).

sehr stark überhaupt nichtn=18mw=1.06

mw=1.57 n=3808

Vorlesung im AllgemeinenVorlesung im Allgemeinen

5_A) Zielsetzungen und Schwerpunkte des Vorlesungsinhalts sind: klar erkennbar nicht erkennbarn=18mw=1.28

mw=2 n=3781

5_B) Zusammenhänge und Querverbindungen zu anderen Studieninhaltenwerden deutlich aufgezeigt.

trifft zu trifft nicht zun=18mw=1.5

mw=2.2 n=3765

5_C) Der Schwierigkeitsgrad des Stoffes ist: angemessen nicht angemessenn=18mw=1.28

mw=2.16 n=3770

5_E) Anhand der Hinweise in der Vorlesung, des zur Verfügung gestelltenBegleitmaterials und der Literaturhinweise sind Vor- und Nachbereitung:

gut möglich kaum möglichn=17mw=1.18

mw=2.07 n=3682

Didaktische AufbereitungDidaktische Aufbereitung

6_A) Der rote Faden ist meist erkennbar. trifft zu trifft nicht zun=18mw=1.22

mw=1.93 n=3775

6_B) Der dargebotene Stoff ist nachvollziehbar, es ist genügend Zeit zumMitdenken vorhanden.

trifft zu trifft nicht zun=18mw=1.39

mw=2.26 n=3772

6_C) Die gezeigten Experimente, Simulationen, Beispiele, Anwendungen, o.ä.helfen beim Verständnis des Stoffes.

trifft zu trifft nicht zun=14mw=1.21

mw=1.86 n=3314

6_D) Der Bezug zu Übungen und Prüfungsanforderungen wird hergestellt. trifft zu trifft nicht zun=17mw=1.35

mw=2.34 n=3708

Präsentation des DozentenPräsentation des Dozenten

7_A) Der Präsentationsstil des Dozenten ist: ansprechend nicht ansprechendn=18mw=1.22

mw=2.01 n=3785

7_B) Der Dozent weckt das Interesse am Stoff. trifft zu trifft nicht zun=18mw=1.17

mw=2.08 n=3778

7_C) Der Einsatz und das Zusammenspiel von Medien (Tafel, Overhead-Projektor, Beamer, etc.) ist:

angemessen nicht angemessenn=17mw=1.18

mw=1.77 n=3740

WS 12/13 • Dipl.-Inf. Daniel Lohmann • Vorlesung • Betriebssysteme

27.01.2013 EvaSys Auswertung Seite 6

ProfillinieTeilbereich: Technische Fakultät (TF)Name der/des Lehrenden: Dipl.-Inf. Daniel LohmannTitel der Lehrveranstaltung:(Name der Umfrage)

Betriebssysteme (12w-BS)

Vergleichslinie: Mittelwert aller Vorlesungs-Fragebögenim WS 12/13

Globalfragen für alle Lehrveranstaltungs-Typen (mit Gewichtung)Globalfragen für alle Lehrveranstaltungs-Typen (mit Gewichtung)

4_A) • Bitte benoten Sie die Vorlesung insgesamt (50%): sehr gut mangelhaftn=18mw=1.06

mw=2.03 n=3811

4_B) • Der notwendige Arbeitsaufwand für diese Vorlesung ist (12,5%): angemessen unangemessenn=18mw=1.28

mw=2.06 n=3809

4_C) • Wie ist die Vorlesung strukturiert (12,5%)? sehr gut mangelhaftn=18mw=1.17

mw=1.95 n=3810

4_D) • Der Dozent wirkt engagiert und motiviert bei der Durchführung derVorlesung (12,5%).

sehr stark überhaupt nichtn=18mw=1

mw=1.63 n=3810

4_E) • Der Dozent geht auf Fragen und Belange der Studierenden ein(12,5%).

sehr stark überhaupt nichtn=18mw=1.06

mw=1.57 n=3808

Vorlesung im AllgemeinenVorlesung im Allgemeinen

5_A) Zielsetzungen und Schwerpunkte des Vorlesungsinhalts sind: klar erkennbar nicht erkennbarn=18mw=1.28

mw=2 n=3781

5_B) Zusammenhänge und Querverbindungen zu anderen Studieninhaltenwerden deutlich aufgezeigt.

trifft zu trifft nicht zun=18mw=1.5

mw=2.2 n=3765

5_C) Der Schwierigkeitsgrad des Stoffes ist: angemessen nicht angemessenn=18mw=1.28

mw=2.16 n=3770

5_E) Anhand der Hinweise in der Vorlesung, des zur Verfügung gestelltenBegleitmaterials und der Literaturhinweise sind Vor- und Nachbereitung:

gut möglich kaum möglichn=17mw=1.18

mw=2.07 n=3682

Didaktische AufbereitungDidaktische Aufbereitung

6_A) Der rote Faden ist meist erkennbar. trifft zu trifft nicht zun=18mw=1.22

mw=1.93 n=3775

6_B) Der dargebotene Stoff ist nachvollziehbar, es ist genügend Zeit zumMitdenken vorhanden.

trifft zu trifft nicht zun=18mw=1.39

mw=2.26 n=3772

6_C) Die gezeigten Experimente, Simulationen, Beispiele, Anwendungen, o.ä.helfen beim Verständnis des Stoffes.

trifft zu trifft nicht zun=14mw=1.21

mw=1.86 n=3314

6_D) Der Bezug zu Übungen und Prüfungsanforderungen wird hergestellt. trifft zu trifft nicht zun=17mw=1.35

mw=2.34 n=3708

Präsentation des DozentenPräsentation des Dozenten

7_A) Der Präsentationsstil des Dozenten ist: ansprechend nicht ansprechendn=18mw=1.22

mw=2.01 n=3785

7_B) Der Dozent weckt das Interesse am Stoff. trifft zu trifft nicht zun=18mw=1.17

mw=2.08 n=3778

7_C) Der Einsatz und das Zusammenspiel von Medien (Tafel, Overhead-Projektor, Beamer, etc.) ist:

angemessen nicht angemessenn=17mw=1.18

mw=1.77 n=3740

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 9

Page 21: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Kommentare

An der Lehrveranstaltung gefällt mir besonders

+ sehr gut strukturiert + die wohl besten Vorlesungsfolien, die ich bisher inmeinem Studium zur Verfügung hatte + wirkt alles sehr ausgereift, an dieserVL können sich andere LS ein Beispiel nehmen + Videos der VL werden zumNachbereiten online zur Verfügung gestellt

Der Stoff ist sehr interessant. Die Folien sind sehr ansprechend gestaltet.Der Dozent weiß, wovon er redet und ist sehr engagiert. Die Umsetzung dervorgestellten Konzepte in realen Betriebssystemen ist gut undveranschaulicht der Stoff.

Der Vortragsstil ist super. Die Geschichten über z.B. das A20-Gate lockernden Stoff gut auf. Für mich eine der interessantesten Vorlesungen.

Gut strukturierter Inhalt, schöne Kombination aus Breiten- und Tiefenthemen.Motivierter, kompetenter Dozent, der den Stoff mit interessanten Anekdotenauflockert und wichtige Konzepte im Dialog mit den Teilnehmern erarbeitet.

Herr Lohmann :) Kompetent, motiviert, freundlich!

Hervorragende Vorlesung, motivierter Dozent, gute Folien. Weiter so! :-)

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 10

Page 22: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Kommentare (Forts.)

Sehr interessante Übungen

Super Veranstaltung. Mit Abstand beste Vorlesung dieses Semester. Auchdie klare Terminstruktur (welche Vorlesung gehoert zur welcher Uebung,wann ist Abgabe, usw) ist sehr hilfreich.

Tolle VL, guter Dozent

Viele Beispiele, wo die gezeigten Konzepte tatsächlich angewendet werden,wie Betriebssysteme in der Praxis funktionieren. Top motivierter Dozent!

sehr interessanter Stoff der gut vermittelt wird, interessante Anekdoten superVorlesung

sehr motivierter dozent

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 11

Page 23: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Kommentare (Forts.)

An der Lehrveranstaltung gefällt mir weniger

Hinweise welche Inahlte jeweils besonders relevant/ kaum relevant fuerPruefung sind waere noch hilfreich

Mit jeder Vorlesung steigt die Verwunderung, warum heutigeBetriebssysteme überhaupt funktionieren ;-)

Wer, anders als wohl die meisten Teilnehmer, wenig Vorkenntnisse aus derSystemecke hat, wird ab und an abgehängt, weil manche Begriffe aus derPraxis, die man nicht aus dem Grundstudium kennt, häufig erstmal ohneErklärung verwendet werden (als Beispiel: real mode). BeiProgrammiertechnischem kommt man aber in der Regel auch ohnezusätzliches Vorwissen ganz gut mit.

Zwischenkommentare die zu stark vom aktuellen Thema abweichen etwasfrueher unterbinden.

alles hat gepasst

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 12

Page 24: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Kommentare (Forts.)

Weiterhin möchte ich anmerken

Bitte weiterhin so viel Spaß und Freude am Stoff vermitteln!

Die Videos aus dem Vorjahr waren super praktisch um versäumte Terminenachzuholen.

gutes Zeitmanagement des Dozenten

Freue mich schon auf weitere Veranstaltungen

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Evaluation 14 – 13

Page 25: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Wie geht es weiter? (Bachelor/Master)

SSE7,5

Systemsoftware Engineering

EZS5 – 7,5

BS5 – 7,5

MW5 – 7,5

EZS2P: 10

BST5

KSS2,5

AKSSS: 5

VS5 – 7,5

Examensarbeit / ProjektarbeitBA / SA, MA / DA, PA

Systemprogrammierung10 ECTS

6

5

4

3

2/4

1/3

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – SS 2013 am Lehrstuhl 14 – 14

Page 26: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Masterseminar Energiegewahre Systemsoftware

1980er 2010er

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – AKSS 14 – 15

Page 27: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Masterseminar: Energiegewahre Systemsoftware

Masterseminar, Ausgewählte Kapitel der Systemsoftware:Energiegewahre Systemsoftware

4 SWS bzw. 5 ECTS

Das Seminar beleuchtet das breite Spektrum energiegewahrerSystemsoftware aus unterschiedlichen Richtungen, u. a.:

Energieeffiziente Betriebssystemkomponenten, hardwaregestützteEnergiesparmechanismenEnergieverwaltung im Linux-BetriebssystemEnergieeffiziente Systemsoftware für Cloud-Computing

Aktuelle Forschungsarbeiten aus dem Systems-Bereich

Themenliste online:http://www4.cs.fau.de/Lehre/SS13/MS_AKSS

Themen können bereits jetzt reserviert werden. Schickt dafüreinfach eine E-Mail an Timo <[email protected]>

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – AKSS 14 – 16

Page 28: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Betriebssystemtechnik (BST)II Einleitung 1 Systemsoftware 1.1 Synergie

Hinter der Kulisse: BST in aller Kurze. . .

Betriebssystemtechnik

Betriebssysteme

Federgewichtsprozesse

Synchronisation

Gastsystem

Softwaretechnik

Variabilitat

Programmfamilie

Wiederverwendbarkeit

c©wosch (Lehrstuhl Informatik 4) Betriebssystemtechnik SS 2012 3 / 30

Page 29: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Neu: Betriebssystemtechnik (BST)

Betriebssystemtechnik

Adressräume: Trennung, Zugriff, Schutz

Einleitung

Wolfgang Schröder-Preikschat

16. April 2013

Page 30: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Hinter der Kulisse: KSS in aller Kürze...

KSS 7→

Kon

figur

ierb

are

Sys

tem

softw

are

Softwaretechnik

Variabilität

Produktlinien

Aspektorientierung

Generatortechniken

Betriebssysteme

eCos [3]

CiAO [2]

Sloth [1]

Linux [4]

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – KSS 14 – 19

Page 31: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Motivation: Special-Purpose Systems

6

Page 32: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

“Between a Rock and a Hard Place”

7

S y s t e m S o f t w a r e

Hardware

Application

functional and nonfunctional requirements

functional and nonfunctional properties

taskssocketsfile system...event latencysafety...

ISAIRQ handlingMMU / MPU...cache sizecoherenceIRQ latency...

Page 33: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Configurable Software " Product Line

8

!"#$%&'()*+,& )#%-./#0()*+,&

)*&,/1/,(!"#$%&' )*&,/1/,()#%-./#0

!"#$%&'()*+,-!"

!#

!$!%

!&!'!(

!"#$%&"'(#)*(+",")*")-."'

.,/0%-+/-'1'!+2+3"*+,

!"#$$

%$&'()

!"#$$!"#$$

%$&'()%$&'()222

/&-0.$"-$%&"(#)*(12,3"2")$#$.4)(/&$.5#-$'

.**3%/$-%"&'!+2+3"*+,

!"!%)))

!

!64)5.7%&#$.4)%

*

+

!

.**3%/$-%"&'45+,

!"#$"#!%"&'()!*$ $+#$")!%"&'()!*$

!")#&",$('$-$'

.%*$'('$-$'

8#&.#)$

.)$")*"*

,&4,"&$."'((

#-$%#3

((((.2,3"2")$#$.4)

Page 34: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

! The embedded Configurable OS

"operating system for embedded applications

"open source, maintained by eCosCentric

"broadly accepted real-world system

! More than 750 configuration options

" feature-based selection

"preprocessor-based implementation

! This has a severe impact on the code!

The State of the Art: eCos

9

Page 35: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Cyg_Mutex::Cyg_Mutex() {CYG_REPORT_FUNCTION();locked = false;owner = NULL;

#if defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT) && \defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC)

#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_INHERITprotocol = INHERIT;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_CEILINGprotocol = CEILING;ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_NONEprotocol = NONE;

#endif#else // not (DYNAMIC and DEFAULT defined)#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY// if there is a default priority ceiling defined, use that to initialize// the ceiling.ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#else// Otherwise set it to zero.ceiling = 0;

#endif#endif#endif // DYNAMIC and DEFAULT definedCYG_REPORT_RETURN();

}

eCos – Implementation of Configurability

11

Cyg_Mutex::Cyg_Mutex() {CYG_REPORT_FUNCTION();locked = false;owner = NULL;

#if defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT) && \defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC)

#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_INHERITprotocol = INHERIT;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_CEILINGprotocol = CEILING;ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_NONEprotocol = NONE;

#endif#else // not (DYNAMIC and DEFAULT defined)#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY// if there is a default priority ceiling defined, use that to initialize// the ceiling.ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#else// Otherwise set it to zero.ceiling = 0;

#endif#endif#endif // DYNAMIC and DEFAULT definedCYG_REPORT_RETURN();

}

Cyg_Mutex::Cyg_Mutex() {CYG_REPORT_FUNCTION();locked = false;owner = NULL;

#if defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT) && \defined(CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC)

#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_INHERITprotocol = INHERIT;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_CEILINGprotocol = CEILING;ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#endif#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_NONEprotocol = NONE;

#endif#else // not (DYNAMIC and DEFAULT defined)#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING#ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY// if there is a default priority ceiling defined, use that to initialize// the ceiling.ceiling = CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY;

#else// Otherwise set it to zero.ceiling = 0;

#endif#endif#endif // DYNAMIC and DEFAULT definedCYG_REPORT_RETURN();

}

PROTOCOL

CEILING

INHERIT

DYNAMIC

Mutex

options:

Kernel policies: SynchronizationInstrumentationTracing

Cyg_Mutex::Cyg_Mutex() {locked = false;owner = NULL;

}

Page 36: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Issue: Crosscutting Concerns

12

Kernel policies: SynchronizationInstrumentationTracing

PROTOCOL

CEILING

INHERIT

DYNAMIC

Mutex

options:

Page 37: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Solution Idea: Aspect-Oriented Programming

13

badly modularized

well modularized concern

without AOP with AOP

aspect

AOP provides language means to encapsulate crosscutting and scattered concerns

Page 38: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Qualitative Results: eCos ! AspeCos

14

Kernel policies: SynchronizationInstrumentationTracing

[EuroSys ’06]

Page 39: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Example: Synchronization in AspeCos

18

aspect int_sync {

pointcut sync() = execution(...) // kernel calls to sync|| construction(...)|| destruction(...);

// advise kernel code to invoke lock() and unlock()advice sync() : before() {Cyg_Scheduler::lock();

}advice sync() : after() {Cyg_Scheduler::unlock();

}

// In eCos, a new thread always starts with a lock value of 0advice execution("%Cyg_HardwareThread::thread_entry(...)") : before() {Cyg_Scheduler::zero_sched_lock();

}...

};

where

what

35

Page 40: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

CiAO – CiAO is Aspect-Oriented

A family of aspect-oriented operating systems

"AUTOSAR-OS–like functionality

" configurability of even fundamental system policies

"achieved by aspect-aware design

15

!"#$%&"'(!)*+,-*!'#$%&"'(!)*+,

!"#"$%&'()*+,*")$

-+(.",+&

'()*+,*")$

!"#$%&#$'(

!)*#+,#--.*)#/*+0(

1'$*#.2

3*4'$2

/01&23$,4()$"56*")$

1)"'%5.'$ 6.#$4,4#0#7'$

8$''4-/*+0

91,)+0/$+.

:;'0/,<5--+$/

='<+5$)',<5--+$/

>++?<,<5--+$/

1/#)?,4+0*/+$*07

!#<,#--.*)#/*+0(

7+#)(3&'()*+,*")$

+<@@?$0

+<@@%';+<@@*$A

)*#+ #<

B8CB+0/*05#/*+0 6132 D8C3*4'$2 *0*/

"&@@*$A "&@@%';

"&@@"#.

*0/'$E#)'.#F'$

<F</'4.#F'$

"#$%&#$'.#F'$ 13D61B213DG1=B2

[USENIX ’09, AOSD ’11]

Page 41: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

CiAO – CiAO is Aspect-Oriented

A family of aspect-oriented operating systems

"AUTOSAR-OS–like functionality

" configurability of even fundamental system policies

"achieved by aspect-aware design

15

test scenario CiAO ProOSEK

(a) voluntary task switch 160 218

(b) forced task switch 108 280

(c) preemptive task switch 192 274

(d) system startup 194 399

[USENIX ’09, AOSD ’11]

Page 42: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Evaluation Case Study: CiAO-AS

30

! Implementation of the AUTOSAR-OS specification

" configurable architectural policies for protection and isolation

"using the principles and idioms of aspect-aware design

! Achieved excellent separation of concerns"high granularity

" competitive run-time and memory footprint

Specification of Operating System V2.0.1

Document Title Specification of Operating System

Document Owner AUTOSAR GbR

Document Responsibility AUTOSAR GbR

Document Version 2.0.1

Document Status Final

Document Change History Date Version Changed by Change Description

26.06.2006 2.0.1 AUTOSAR Administration

Layout Adaptations

28.04.2006 2.0.0 AUTOSAR Administration

Document structure adapted to common Release 2.0 SWS Template.

! Major changes in chapter 10

! Structure of document changed partly

! Other changes see chapter 14

28.06.2005 1.0.0 AUTOSAR Administration

Initial Release

Specification of Operating System V2.0.1

OS093: If interrupts are disabled and any OS services, excluding the interrupt services, are called outside of hook routines, then the Operating System shall return E_OS_DISABLEDINT

aspect DisabledIntCheck {

advice call( pcOSServices() && !pcInterruptServices() )

&& !within( pcHookRoutines() ) : around() {

if( interruptsDisabled() )

*tjp->result() = E_OS_DISABLEDINT;

else

tjp->proceed();

} };

CiAO

40

Page 43: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Sloth: Threads as Interrupts

Idea: threads are interrupt handlers,

synchronous thread activation is IRQ

Let interrupt subsystem do the scheduling and

dispatching work

Applicable to priority-based real-time systems

Advantage: small, fast kernel with unified

control-flow abstraction

Wanja Hofer Sloth: Threads as Interrupts (RTSS 2009) 3

Page 44: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

Sloth Design

IRQ SourceTask1

prio=1

request

IRQ SourceISR2

prio=2

request

IRQ SourceTask3

prio=3

request

IRQ SourceTask4

prio=4

request

HardwarePeriphery

TimerSystem

HW IRQ

Alarm Exp.

IRQArbi-trationUnit

CPU

curprio=X

Act(T1)

IRQ VectorTable

task1()

isr2()

task3()

task4()

Platform must support IR priorities and software IR triggering

Wanja Hofer Sloth: Threads as Interrupts (RTSS 2009) 6

Page 45: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

SLOTH

19

0

100

200

300

400

Cycles

Activate() Activate() Terminate() Chain() GetRes() ReleaseRes() ReleaseRes()

w/ dispatch w/ dispatch

Speedup ≈ 2x ≈ 4x ≈ 20x ≈ 5x ≈ 3x ≈ 8x ≈ 8x

Sloth best case

Sloth worst case

Commercial OSEK

OSEK OS

Control Flows

ISRs Cat. 2

Kernel Sync

ISRs Cat. 1 Tasks

Full Preemption Mixed Preemption No Preemption Multiple Tasks Per Prio

BCC2, ECC2

Multiple Activations

BCC2, ECC2

Alarms

Activate Task Set Event

ECC1, ECC2

Exec Callback

Coordination

Resources

BCC2, ECC1, ECC2

Events

ECC1, ECC2

[RTSS ’09]

Page 46: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

! More than 11,000 configuration options!

"85,000 #ifdef blocks, sprinkled over 29,000 source files

"numbers have doubled within the last five years!

Configurability in the Large: Linux

23

!"#!$%

#&"$&%

"'('&%

&)!"(%

!""#$

%%&&"$

&'('%&$

)&**!+$

&'('&*$ &'('&!$ &'('"*$ &'('"!$

)&*%*+$

,-./01$23415$

637$84-095$

21:;./15$

Page 47: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

! More than 11,000 configuration options!

"85,000 #ifdef blocks, sprinkled over 29,000 source files

"numbers have doubled within the last five years!

Configurability in the Large: Linux

23

MEMORY MODEL

FLATMEM

DISCONTIGMEM

SPARSEMEM NUMA

depends on

#ifdef CONFIG DISCONTIGMEM

// Block1

static . . . int pfn_to_mid(. . .)

# ifdef CONFIG NUMA

// Block2

# else

// Block3

# endif

#endif

implementation spaceconfiguration space

inconsistencies

Page 48: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Ausblick: Konfigurierbare Systemsoftware (KSS)

The Undertaker

" found 1,776 defects (and that is just a lower bound!)- proposed fix for 364 (including 20 new bugs)

- 123 patches submitted (49 merged into Linus-Tree)

- removed 5,129 lines of unnecessary #ifdef-code

" tool suite now published as open-source project

24

MEMORY MODEL

FLATMEM

DISCONTIGMEM

SPARSEMEM NUMA

depends on

#ifdef CONFIG DISCONTIGMEM

// Block1

static . . . int pfn_to_mid(. . .)

# ifdef CONFIG NUMA

// Block2

# else

// Block3

# endif

#endif

C = (FLATMEM → MEMORY MODEL)

∧ (DISCONTIGMEM → MEMORY MODEL)

∧ (SPARSEMEM → MEMORY MODEL)

∧ (NUMA → MEMORY MODEL)

∧ (DISCONTIGMEM → NUMA)

I = (Block1 ↔ DISCONTIGMEM)

∧ (Block2 ↔ Block1 ∧ (NUMA)

∧ (Block3 ↔ Block1 ∧ ¬Block2)

implementation space constraints

implementation space

configuration space constraints

configuration space

dead? sat(C ∧ I ∧ BlockN )

undead? sat(C ∧ I ∧ ¬BlockN

∧ parent(BlockN ))

configurability defects

[EuroSys ’11]

Page 49: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Examensarbeiten am LS4

Zur Zeit im Angebot:

Bachelorarbeiten

Masterarbeiten

Projektarbeiten

http://www4.informatik.uni-erlangen.de/DE/Theses/

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Examensarbeiten 14 – 21

Page 50: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Das war’s :-)

Das Lehrstuhl 4 BS-Team wün-scht erfolgreiche und erholsame“Semesterferien”

. . . und ein Wiedersehenim Sommersemester 2013!

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Ausblick 14 – 22

Page 51: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Referenzen

[1] Wanja Hofer, Daniel Lohmann, Fabian Scheler, et al. “Sloth: Threads as Interrupts”.In: Proceedings of the 30th IEEE International Symposium on Real-Time Systems(RTSS ’09). IEEE Computer Society Press, Dec. 2009, pp. 204–213. ISBN:978-0-7695-3875-4. DOI: 10.1109/RTSS.2009.18.

[2] Daniel Lohmann, Wanja Hofer, Wolfgang Schröder-Preikschat, et al. “CiAO: AnAspect-Oriented Operating-System Family for Resource-Constrained EmbeddedSystems”. In: Proceedings of the 2009 USENIX Annual Technical Conference.Berkeley, CA, USA: USENIX Association, June 2009, pp. 215–228. ISBN:978-1-931971-68-3. URL: http://www.usenix.org/event/usenix09/tech/full_papers/lohmann/lohmann.pdf.

[3] Daniel Lohmann, Fabian Scheler, Reinhard Tartler, et al. “A Quantitative Analysis ofAspects in the eCos Kernel”. In: Proceedings of the ACM SIGOPS/EuroSysEuropean Conference on Computer Systems 2006 (EuroSys ’06). (Leuven,Belgium). Ed. by Yolande Berbers and Willy Zwaenepoel. New York, NY, USA: ACMPress, Apr. 2006, pp. 191–204. ISBN: 1-59593-322-0. DOI:10.1145/1218063.1217954.

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Referenzen 14 – 23

Page 52: Betriebssysteme (BS) - informatik.uni-erlangen.de · BS-Konzept allgemein und am Beispiel (Windows/Linux) VL1 Einführung VL2 BS-Entwicklung VL3 IRQs (Hardware) VL4 IRQs (Software)

Referenzen (Forts.)

[4] Reinhard Tartler, Daniel Lohmann, Julio Sincero, et al. “Feature Consistency inCompile-Time-Configurable System Software: Facing the Linux 10,000 FeatureProblem”. In: Proceedings of the ACM SIGOPS/EuroSys European Conference onComputer Systems 2011 (EuroSys ’11). (Salzburg, Austria). Ed. byChristoph M. Kirsch and Gernot Heiser. New York, NY, USA: ACM Press, Apr. 2011,pp. 47–60. ISBN: 978-1-4503-0634-8. DOI: 10.1145/1966445.1966451.

[5] Linus Torvalds and David Diamond. Just for Fun: The Story of an AccidentalRevolutionary. HarperCollins, 2001. ISBN: 978-0066620725.

dl Betriebssysteme (VL 14 | WS 12) 14 Zusammenfassung und Ausblick – Referenzen 14 – 24