Aufbau eines modernen Betriebssystems (Windows NT 5.0)

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

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Military Air Systems

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

3. Betriebssystemorganisation

Windows CE. Process Control and Robotics. Fabian Garagnon

White Paper. Embedded Treiberframework. Einführung

Betriebssystemschichten ( )

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

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

Windows Vista Windows Phone 7

kernkonzept L4Re ISOLATION UND SCHUTZ IN MIKROKERNBASIERTEN SYSTEMEN kernkonzept 1

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Seminar: Mobile Geräte QNX Einführung

Microkernel-Betriebssysteme Mach, L4, Hurd

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

Betriebssystemsicherheit am Beispiel UNIX

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

IT-Symposium C01 - Virtualisieren mit dem Windows Server 2008

AOSTA. Aspects in Operating Systems: Tools and Applications

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

AFS / OpenAFS. Bastian Steinert. Robert Schuppenies. Präsentiert von. Und

Betriebssystemschichten ( )

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

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

Operating System Kernels

Betriebssysteme Kap A: Grundlagen

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Software ubiquitärer Systeme

User Level Device Driver am Beispiel von TCP

Embedded-Linux-Seminare. Linux als Betriebssystem

DBUS Interprozess-Kommunikation für Embedded-Plattformen

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem. Matthias Kupfer ReactOS Deutschland e.v.

Smartphone Entwicklung mit Android und Java

Parallelisierung auf MPSoC-Plattformen

Performance Messungen von FreeRTOS und

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

(Prüfungs-)Aufgaben zum Thema Scheduling

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Rechnerarchitektur und Betriebssysteme (CS201): Microkernel, Virtualisierung

RTEMS- Echtzeitbetriebssystem

Prozesse und Threads. Peter Puschner Institut für Technische Informatik

? die Gesamtheit der Programmteile, die die Benutzung von Betriebsmitteln steuern und verwalten

Herzlich Willkommen. Christian Rudolph IT-Consultant VMware Certified Professional

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

Rechnernutzung in der Physik. Betriebssysteme

Grafiktreiber im Linuxkernel - die Außenseiter -

Betriebssysteme. Barry Linnert. Wintersemester 2015/16

Embedded OS für ARM Cortex Microcontroller

PVFS (Parallel Virtual File System)

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, Functional Test Automation Tools

Echtzeitbetriebssysteme

Virtualisierung 360 Einführung in die Virtualisierung Server- und Desktopvirtualisierung mit Hyper-V

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Echtzeitbetriebssysteme

VMware View and Thinapp Oliver Lentsch, Specialist SE End User Computing

Dämon-Prozesse ( deamon )

Echtzeitanforderung und Linux

Innovative Architekturansätze

Literaturempfehlungen

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Docker. Lass mal containern Julian mino GPN

Reflex The Real-Time Event Flow EXecutive

L4Android !!!!! Ein guter Lösungsansatz? Cassian Spägele FH Kaiserslautern Fach: Studienarbeit Prof. A.Müller

Meine SPS kann Linux, und nun?

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

1.1 Zweck. Betriebssysteme. Was leistet ein Betriebssystem? -> Zwei Grundfunktionen:

Projekt Prof. Dr.-Ing. Ingo Kunold

Protected User-Level DMA in SCI Shared Memory Umgebungen

Storage Engineering. Version 1.0. Januar TEKKVIS Consultants GmbH. s p i c e u p y o u r k n o w l e d g e. Gartenstrasse 24 CH-5432 Neuenhof

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier

Standardsoftware. SAP Basisarchitektur. Prof. Dr. Bernhard Schiefer 2-1

Tru64 UNIX Performance Tuning. Tuning. Was heißt Tuning. Know your environment. Inhalt. Grundregeln. Grundregeln

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

Mac Desktop Entwicklung

Fachreferat. EFI -BIOS Nachfolger-

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

Mobile Application Development

1 Application Compatibility Toolkit (ACT) 5.6

AnyWeb AG

Aktuelle Themen der Informatik: Virtualisierung

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

Einführung in z/os und OS/390

Audiokommunikation im Computer. Andreas Jäger

Zend PHP Cloud Application Platform

Betriebssystem-basierte Virtualisierung

Desktopvirtualisierung 2009 ACP Gruppe

Steffen Heinzl Markus Mathes. Middleware in Java

Smart Meter Gateway: Informationsflusskontrolle und Datenschutz mittels Security Kernel Framework

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

Secure Authentication for System & Network Administration

Integrating Architecture Apps for the Enterprise

Cloud Computing. Betriebssicherheit von Cloud Umgebungen C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y

Transkript:

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK

Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung der Design Goals in NT 5.0 a) Architektur Überblick b) Aufbau der User Mode Komponenten c) Aufbau des Kernels 3. Zusammenfassung 2

Gliederung 1. Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung der Design Goals in NT 5.0 a) Architektur Überblick b) Aufbau der User Mode Komponenten c) Aufbau des Kernels 3.Zusammenfassung 3

Probleme (1) Sehr hohe Lebensdauer UNIX ist etwa 25 Jahre alt Windows ist etwa 10 Jahre alt Platformunabhängigkeit trotz Unterschiedlicher Hardware Umgebungen Unabhängig voneinander designter HW Komponenten Komplexes Resourcen Management Benutzer wollen ihre Daten vor Zugriffen anderer schützen I/O Geräte müssen sich HW Resourcen teilen (Interrupts, DMA Kanäle,...) Komponenten hängen stark zusammen 4

Probleme (2) Abwärtskompatibilität Einschränkungen / Eigenarten der früheren Version(en) müssen berücksichtigt werden Betriebssysteme sind sehr grosse Programme UNIX i.d.r > 1 Mio Zeilen Code Windows NT ~ 29 Mio Zeilen Code Unmöglich zu überblicken! Betriebssysteme sollten trotzdem einfach und einheitlich programmierbar sein... 5

Design Goals Welche Ziele sollte man also beim Entwurf im Auge behalten? Erweiterbarkeit Portierbarkeit Zuverlässigkeit Kompatibilität Sicherheit Effizienz 6

Möglichkeiten der Strukturierung (1) 1. Schichten Modell Verringerung der Komplexität durch Einteilung in Schichten Weit verbreitet (siehe UNIX, Windows) System Call Handler File System 1... File System n Virtual Memory Treiber 1... Treiber n Threads, Thread Scheduling, Thread Syncronisation Interrupt Handling, Context Switching, MMU Hardware abstrahieren Nach Tanenbaum Kernel Mode 7

Möglichkeiten der Strukturierung (2) 2. Exokernel Prinzip: Alles, was der Benutzer programmieren kann, soll er auch selber machen Es wird z.b. kein Dateisystem vorgegeben Einzige Aufgabe des Kernels ist das sichere Belegen und Freigeben von Resourcen Alle anderen Dienste sind User Libraries ( LibOS ) App 1 App 2 Ex OS Exokernel OO OS Nach Engeler '95 LibOS User Mode Kernel Mode 8

Möglichkeiten der Strukturierung (3) 3. Client Server Systeme Grösster Teil des OS läuft im User Mode Kommunikation durch den Microkernel Eignet sich gut für verteilte Systeme Viele Context Switches nicht sehr effizient Client Process Client Process Process Server Terminal Server... File Server Memory Server User Mode Microkernel Kernel Mode Nach Tanenbaum 9

Gliederung 1. Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung der Design Goals in NT 5.0 a) Architektur Überblick b) Aufbau der User Mode Komponenten c) Aufbau des Kernels 3.Zusammenfassung 10

Architektur-Überblick Schichten Modell NT Executive im Kernel Mode Effizienz Hardwarezugriff in HAL gekapselt Portierbarkeit Anwendungen Environment Subsystems NT Executive NT Kernel Hardware Abstraction Layer (HAL) Hardware User Mode Kernel Mode 11

Aufbau der User Mode Client Server Modell: Komponenten Anwendungen kommunizieren mit dem Kernel über die Environment Subsystems Kompatibilität NT Native API ständig erweitert OS/2 Apps (!?) Normale Anwendungen sind von der Native API unabhängig, Emulation der jeweiligen OS API im Env Subsystem User Mode Kernel Mode OS/2 Subsystem Win32 Apps Win32 Subsystem NT Native API Windows NT Executive POSIX Apps POSIX Subsystem Applications (Clients) NT Executive (Server) 12

Aufbau des Kernels (1) Wegen starker Abhängigkeiten nur schwer in Module gliederbar im Prinzip Monolithisch Frühere User Mode Module wie das GDI jetzt im Kernel Mode Effizienz NT Native API I/O Mgr Filesys Object Mgr Process Mgr Memory Mgr Security Mgr... Power Mgr LPC Mgr Win32 GDI NT Kernel Hardware Abstraction Layer (HAL) Hardware 13

Aufbau des Kernels (2) Einige Kernel Module: Object Manager Zentrale Rolle: Alle Resourcen sind Objekte (Threads, Files,...) Repräsentation durch Handles Reference Counting Security Manager Vergibt und überprüft Zugriffsrechte auf Objekte Access Token wird an Objekte angehängt Process Manager Erstellt, löscht, startet und stoppt Prozesse kein Scheduling ( > Kernel) 14

Aufbau des Kernels (3) LPC Manager Interprozesskommunikation: Apps Env Subsystems Aus Geschindigkeitsgründen keinen normalen IPC Mechanismen NT Kernel Thread Scheduling (Preemptive Scheduler, 32 Priority Levels) Software / Hardware Interrupts, Exceptions Stellt Kernel Objects zur Verfügung (Mutex, Semaphor, Event,...) Hardware Abstraction Layer (HAL) Bildet Bus Adressen auf Logische Adressen ab Clock, Timer Management Hardware unabhängiger DMA Datentransfer 15

Zusammenfassung Betriebssysteme sind sehr komplexe Programme 3 Gängige Strukturierungsmöglichkeiten Layered Exokernel Client Server NT User Mode Komponenten: Env Subsystems sind für Kompatibilität verantwortlich Client Server Modell bei der Kommunikation App < > Subsystem NT Kernel Mode Komponenten: Grob in Schichte eingeteilt: HAL, NT Kernel, NT Executive Vielzahl stark voneinander abhängiger Module in der NT Executive 16

Literatur / Quellen Modern Operating Systems Andrew S. Tanenbaum, Prentice Hall, 2001 Sliding through Operating Systems Daniel Menasce, George Mason University, 1997 Exokernel: an operating system architecture for application level resource management Dawson R. Engler, M. Frans Kaashoek et al, 1995 17