Architektur-Trends im Bereich Betriebssysteme

Ähnliche Dokumente
Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Betriebssystemschichten ( )

Evaluierung der QoS-Unterstützung in TAO/ACE. Großer Beleg - Zwischenstand. Ansgar Konermann 16. Juli 2002

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Konzepte von Betriebssystem-Komponenten

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Betriebssysteme 1. Thomas Kolarz. Folie 1

Aktuelle RTOS-Entwicklungen aus der Forschung

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

CiAO (CiAO is Aspect-Oriented)

Rechnernutzung in der Physik. Betriebssysteme

Linux Paging, Caching und Swapping

Kosten der Abschirmung von Code und Daten

Bibliotheks-basierte Virtualisierung

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. Grundkurs Unix. Teil 1: Die Essenz von UNIX. Dr.

Projektseminar Parallele Programmierung

Symbian OS. OS für kleine Endgeräte: Sven Walter

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

D Einführung Betriebssysteme

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection

kernkonzept L4Re ISOLATION UND SCHUTZ IN MIKROKERNBASIERTEN SYSTEMEN kernkonzept 1

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur

Hardware Virtualisierungs Support für PikeOS

Just-In-Time-Compiler (2)

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

3. Betriebssystemorganisation

Zwei Möglichkeiten die TLB zu aktualisieren

Vorlesung Betriebssysteme I

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Willkommen zur. VO Betriebssysteme. Peter Puschner. Peter Puschner 1

1.3 Architektur von Betriebssystemen

Behutsame Modernisierung

Virtueller Speicher und Memory Management

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Einführung Betriebssysteme

Smartphone Entwicklung mit Android und Java

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom Dr. Sebastian Iwanowski FH Wedel

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Übersicht. Virtuelle Maschinen Erlaubnisse (Rechte) (Protection-)Ringe. AVS SS Teil 12/Protection

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

Willkommen zur. VO Betriebssysteme. Peter Puschner. Institut für Technische Informatik. Peter Puschner 1

Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT

Protected User-Level DMA in SCI Shared Memory Umgebungen

High Performance Embedded Processors

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Hybride Cloud Datacenters

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Wie groß ist die Page Table?

DBUS Interprozess-Kommunikation für Embedded-Plattformen

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Just-In-Time-Compiler (2)

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Betriebssysteme VO Betriebssysteme KU

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Windows CE. Process Control and Robotics. Fabian Garagnon

Echtzeit-Multitasking

Innovative Architekturansätze

Echtzeit-Multitasking

Embedded Linux. Embedded Linux. Daniel Buchheim Seminar "Eingebettete drahtlose Systeme"

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Konzepte von Betriebssystemkomponenten

Dynamische Skalierbarkeit

Betriebssysteme. FU Berlin WS 2004/05 Klaus-Peter Löhr. bs-1.1 1

Technische Informatik 1

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik

Der Scheduler von Windows Konzepte und Strategien

Oracle 11g und Virtualisierung Johannes Ahrends Technical Director Quest Software GmbH

Virtualisierung in der Praxis. Thomas Uhl Topalis AG

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Vision: ICT Services aus der Fabrik

Geschichte der Netze und verteilten Systeme. Gründe für die Nutzung verteilter Systeme. Wünschenswerte Eigenschaften verteilter Systeme

Operating System Kernels

Rückschlüsse durch Host- Performance-Daten auf das Datenbankverhalten. DOAG Regio Karlsruhe 13. Juni 2013

AOSTA. Aspects in Operating Systems: Tools and Applications

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Military Air Systems

Architektur von REST basierten Webservices

VMware als virtuelle Plattform

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

1 Windows 2000/XP (3.1, NT, 95, 98)

Der Scheduler von Windows 2000 Konzepte und Strategien

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Betriebssysteme R. Thomas (Stand : SS 2010)

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Transkript:

Architektur-Trends im Bereich Betriebssysteme Perlen der Weisheit M. Pizka, 07.08.01 Überblick Einordnung und Abgrenzung Betriebssystem Architektur Separation: Evolution minimaler Kerne VBS-Fallstudie Distributed Shared Memory Integration: Flexibilisierung und Effizienz 2 1

Betriebssystem Speicherresidentes, privilegiertes Programm unterhalb syscall Schnittstelle. Kern = BS general purpose DIN 4430: Das BS wird gebildet durch die P eines digitalen RS, die... P steuern und überwachen. Automatisierung repetitiver und schwieriger Aufgaben. 3 Interessante BS-Eigenschaften 4 vielstufiger Übergang Modell techn. Realisierung Speicher, Rechenfähigkeit, Zeit,... vollständig automatisiert, optimiert Integration of (contradicting) concerns Performanz, Security,... Wiederverwendung Adaptionsfähigkeit Langlebigkeit Kompatibilität hohe Anforderungen an Funktionssicherheit Leistungsfähigkeit 2

Architektur - buzzword Architekt: Grobentwurf, Detaillierung bis vollständige Beschreibung Architektur i.d. Informatik: stark vergröberte Sicht, Verzicht auf Details Kriterien für Vergröberung? Beobachtung: rekursiv multi-dimensional BS komplexe Systemprogramme Linux: ca. 2 mloc welche Sicht (Gesamtsystem, C/S NFS-Architektur,...)? Terminologie: BS-Strukturen 5 BS-Trends Unterstützung großer Adressräume Security Multimedia, RT Mobile Miniaturisierung (Palm-OS, Embedded) Scalability+Portability Persistenz (Alternativen zu Dateien) Parallele und Verteilte Systeme Tailoring, Customization und Extensibility 6 3

Monolithische Struktur Struktur: keine bis wenig Integration aller Prozeduren Daten in einen großen Kern information hiding: nein Wartung: problematisch kurze Pfade, performant am weitesten verbreitet 7 BSD 4.4 Kern Terminal handling Cooked Sys tty calls Line discipl. Character devices System calls Sockets Network protocols Routing Network device drivers File naming File systems Buffer cache Map Page ping faults Virtual memory Page ceache Disk device drivers Hardware Interrupts and Traps Signal handling Process creation and termination Process scheduling Process dispatching 8 4

Schichtung The (Dijkstra 68) Reduktion der Komplexität der Abhängigkeiten Abhängigkeiten von Schicht n: S(n+1), S(n), S(n-1) Horizontale Struktur Vertikale Struktur fehlt Anzahl der Schichten? Erhöhte Komplexität durch Vermittlerkomponenten (Linearisierung) Effizienzverluste 9 Verallgemeinerung: MULTICS-Ringe Mikrokern Mach (83), Chorus, Amoeba Mach: multiprocessors matching application neeeds minimaler Kern Dienste in Server-Prozessen dynamisch erweiterbar Trennung Strategie Mechanismus OS Personalities (DOS/UNIX) IPC: explizit, n.-orientiert Kriterium für Kernintegration? Linus Torvalds: Linux is a µ-kernel OS. The kernel only contains what s necessary 10 5

Windows NT/2000 (29mloc) kein µ-kern basiertes System 11 Erweiterbare Kerne Beobachtung existierender µ-kerne: ineffizient (Konflikt mit GP-Flexibilität) schwer zu warten, geringe Wiederverwendung Analyse µ-kerne sind nicht µ (mem+interface) µ-kerne sind nach wie vor Monolithen µ-kerne sind nicht adaptierbar Lösungsansatz: dynamisch erweiterbare Kerne optimale Nutzung von Ressourcen durch anwendungsspezifische Anpassung Bsp.: SPIN, Aegis ExOS, Cache Kernel, Apertos, Scout 12 6

Ansätze SPIN, Cache Kernel extensible kernel SPIN: user-defined spindles CK: Kern cached Threads und Adressräume als benutzermodellierte Anwendungskerne Apertos reflective meta-abstraction Meta-Abstraktionen für die Konstruktion von Abstraktionen Anwendungen spezifizieren eigene Abstraktionen (not fixed!) µ Komposition individueller Ausführungsumgebungen Aegis, Panda, L4 no (minimal) abstractions Abstraktionen sind die Wurzel aller Ineffizienzen keine Kernabstraktionen Anwendungen konstruieren Abstraktionen selbst 13 Picokerne L4 (J. Liedtke, ca.95) outside µk whatever possible Modularität, Isolation koexistierende Strategien L4: VA, Threads, IPC, UID Mach-Ineffizienzen k-u switch: 900 statt 107c VA switch: 800 statt 50c Thr switch: 600µs/10µs Ursachen: Implementierung L4-Ergebnisse: µ-kerne sind nicht portabel Implementierung muß Prozessorspezifika nutzen (486, PPro, PowerPC) TLB Cache SegReg trap 486 32 entries 4 ways 8K 4ways 16-bye lines write through 9 cycles 107 cycles Pentium 32+64 entries 4 ways 8K+8K 2ways 32-byte lines write back 3 cycles 69 cycle 14 7

Synthesis und Synthetics hoch-optimierte, nicht-portable Kerne dynamische, inkrementelle Spezialisierung Interpretation Transformation partielle Auswertung von Invarianten Spekulation über Quasi-Invarianten Realisierung: Kern-integrierter Übersetzer generiert Kern-Code zur Laufzeit Beispiel: optimiertes Lesen aus Pipe Probleme: Schwellwerte auf modernen Architekturen Konflikt mit Caches 15... und das Ende der -mania? P. Druschel, V. Pai and W. Zwaenepoel (98) Extensible Kernels are Leading OS Research Astray... only performance related results so far... raise difficult compatibility and safety questions... try to solve the safety problems they introduced... app-specific kernel-extensions not required... fails to address real OS challenges pragmatic approach extensions only to be used in experimental settings after development tightly integrated into base OS let OS community refocus on real challenges (e.g. HTTP) 16 erweiterbare Monolithen ausreichend (LynxOS, Linux) 8

Verteilte Betriebssysteme VBS Netzwerkbetriebssystem Transparenz der Verteilung u.a. keine Eigentümerschaft zahlreiche Forschungsarbeiten (90er) Comandos (EU), Amoeba (Tan), Mach (CMU),..., MoDiS (TUM) schwach integrierte Ergänzungen: CORBA, PVM, MPI, DCE kommerzielle VBS? ungelöste Probleme w.a. (Lamport/Agrawala unrealistisch) garbage collection (weder refcounting noch mark n sweep) deadlock-detection,... unbefriedigende Leistungsfähigkeit 17 Problem Leistungsfähigkeit local/remote Zugriff: 10ns/2ms 5*10 5 entfernte Zugriffe kritisch minimieren Strategie anwendungsabhängig GP-VBS: hohe Flexibilität erforderlich Flexibilität verursacht a priori Mehraufwand Bsp: Orca/Amoeba Matrixmult, Zeiten in Sek. P Orca SMM 1 810.3 180.5 2 410.6 90.5 3 279.1 60.8 4 209.8 45.9 5 169.9 36.6 18 lineare Beschleunigung, aber inakzeptable Effizienz 9

Leistung in verteilten Systemen Amdahl t s + t p s r = t + t p n n = 1+ ( n 1 )* t verteilt n Sv( y, l) = ( t *( n y) + y)* l s s 19 Fallstudie DSM Distributed Shared Memory bisher: message-passing (MPI, PVM) Idee: shared-memory Paradigma von Multiprozessorsystemen in Software 20 10

Paged-Based DSM Bsp.: Ivy (Li 86), JiaJia, Quarks, Murks (MP 00),... Transport-Einheit: HW-Seite (4kB, 8kB) HW-Support (MMU): Seitenfehler prefetching Charakteristik false sharing inakzeptable Leistung Seite Prozessor 1 Prozessor 2 A B A B Prog nutzt A Prog nutzt B 21 Lösungsansätze Partitionierung der Daten durch Programmierer negativer Effekt auf Caching Verlust von: Transparenz, Einfachheit, Skalierbarkeit O-basierte DSM (Linda, Munin) Einheit: Anwendungsobjekte / Variablen kein MMU-Support mem read/write über Bibliothek was sind geeignete Objekt? Bsp: int a[4096]; Abschwächung der Konsistenzforderung sequential, causal, weak, release, entry,... kompliziertes Programmiermodell 22 11

DSM Integration Compiler Treadmarks, Orca,... kombinierte Compile-/Run-Time DSM-Systeme automatische Partitionierung der Daten präzise Information über Daten- und Kontrollfluß statische Code-Transformation komplexe Kopplung: BS-Kern Laufzeitsystem Übersetzer (Binder) 23 Der Monolith ist tot, es lebe der Monolith steigende Vielfalt von Anforderungen und Angeboten häufig keine uniforme, optimale Lösung Effizienz benötigt Flexibilität Flexibilität benötigt Integration Information Realisierungsalternativen... wie werden geeignete Strategien gefunden? 24 12