C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme



Ähnliche Dokumente
C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

3. Betriebssystemorganisation

andere aufrufen und Datenstrukturen Die Folgen von Änderungen und Erweiterungen sind schwer

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

Betriebssystemschichten ( )

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

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

Betriebssystemsicherheit am Beispiel UNIX

Proseminar Technische Informatik A survey of virtualization technologies

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Operating System Kernels

5 Speicherverwaltung. bs-5.1 1

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

Calogero Fontana Fachseminar WS09/10. Virtualisierung

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

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Microkernel-Betriebssysteme Mach, L4, Hurd

Projekt für Systemprogrammierung WS 06/07

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

4D Server v12 64-bit Version BETA VERSION

Übung - Verwaltung der Gerätetreiber mit dem Geräte-Manager in Windows 7

Virtual Machines. Peter Schmid Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Grafiktreiber im Linuxkernel - die Außenseiter -

Virtual Machines. Peter Schmid Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert 20. Juni 2007

Hardware Virtualisierungs Support für PikeOS

Java Virtual Machine (JVM) Bytecode

Betriebssystem-basierte Virtualisierung

Virtuelle Maschinen. von Markus Köbele

3. Stored Procedures und PL/SQL

Lizenzen und virtuelle Maschinen

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

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

LPT1 Anschluss mit PCMCIA Karte

Anwenderdokumentation PersoSim

User Level Device Driver am Beispiel von TCP

Systeme 1. Kapitel 10. Virtualisierung

Der Scheduler von Windows Konzepte und Strategien

kernkonzept L4Re ISOLATION UND SCHUTZ IN MIKROKERNBASIERTEN SYSTEMEN kernkonzept 1

Xenologie oder wie man einen Plastikmainframe baut

x86 Open Source Virtualisierungstechniken Thomas Glanzmann

XEN Virtualisierung und mehr

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Virtualisierung in der Automatisierungstechnik

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können.

Application Layer Active Network

Leistungsanalyse unter Linux

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

WINDOWS 8 WINDOWS SERVER 2012

ObjectBridge Java Edition

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Military Air Systems

Videoüberwachung als Virtuelle Maschine. auf Ihrem Server, PC oder Mac. Peter Steinhilber

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Dr. Joerg Schulenburg, URZ-S. Tel QEMU Virtualisierung und Prozess-Emulation

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Systemvoraussetzungen GS-Programme 2012

1.3 Architektur von Betriebssystemen

Verwendung des Terminalservers der MUG

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

7. Pakete Grundlagen der Programmierung 1 (Java)

Betriebssysteme Kap A: Grundlagen

QUICK INSTALLATION GUIDE

JPC Visualisierung in Java

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Einführung in Eclipse und Java

Zentrale Steuerkonsole sämtlicher NetKey Tools. Zentrale gescannte Hardware-Informationen. Übersichtliches Software-Inventar über alle PCs

J.6 Programmierung eingebetteter Systeme

PC Virtualisierung für Privatanwender

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Merkmale des Betriebssystems Windows XP

VMware als virtuelle Plattform

Hinweise zur Installation der USB Treiber für Windows XP 32bit

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Kernel Based Virtual Machine

IBM Software Demos Tivoli Provisioning Manager for OS Deployment


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

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

Filesystem in Userspace. Jens Spiekermann

Internetanbindung von Datenbanken

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Benachrichtigungsmöglichkeiten in SMC 2.6

Desktopvirtualisierung 2009 ACP Gruppe

Effiziente Java Programmierung

Informationswirtschaft II Rational Unified Process (RUP)

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Informationswirtschaft II

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Windows CE. Process Control and Robotics. Fabian Garagnon

Verteilte Dateisysteme

Transkript:

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen ändern. Die Folgen von Änderungen und Erweiterungen sind schwer abzuschätzen. Zum Beispiel: klassische Unix-Systeme, Batch-Betriebssysteme, IBM OS/360... Anwendungen Dispatcher O S - R o u t i n e n H a r d w a r e C-1 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.2 Gewachsene Modul-Struktur C.2.1 Traditioneller Unix-Kern: Trennung User-/Kernel Space, im Prinzip monolithischer Aufbau, zusätzlich dyn. ladbare Module, Hardwareabstraktion. user-mode kernel-mode Dateisystem B e n u t z e r p r o g r a m m e Systemschnittstelle Prozesskontrollsubsystem Bibliotheken IPC Scheduler Puffer-Cache MemMgmt. Zeichen Block Gerätetreiber Hardwaresteuerung Hardware C-2 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.2.2 Treppenmodelle: Rein hierarchische Schichtenmodelle oft mit Effizienzverlust, da oft Zwischenschichten durchlaufen werden müssen. Schichten können hier übersprungen worden, aber dadurch ergibt sich ein Verlust der Kontroll- & Schutzfunktion. Spezifische Anwendungen, u.a. Grafik- und Echtzeitlösungen, erfordern oft schnelle Systemaufrufe. Programme COMMAND MSDOS.SYS Beispiel: MS-DOS => IO.SYS ROM-BIOS Hardware C-3 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.3 Geschichtete Architekturen C.3.1 API-Modell Schnittstellen zu geschichteten Abstraktionsebenen: Programmierschnittstelle für die Anwendungsprogramme, Systemdienste im algorithmischen Sinne, Schnittstelle zu den Gerätetreibern, Hardwareschnittstellen. Anwendungen Dispatcher Schnittstellenaufrufe: über Software-Interrupt, über Aufrufe einer RT-Bibliothek, Module dynamisch oder statisch gebunden. O S - R o u t i n e n T r e i b e r H a r d w a r e C-4 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.3.2 Schalenmodelle: Anordnung der Funktionen in einer Folge konzentrischer Ringe. Innere Ringe sind privilegierter als Äußere. Aufrufe über Ringgrenzen hinweg mithilfe eines Software-Interrupts: kontrollierter Übergang zw. Privilegstufen. Überprüfung der Parameter Unterstützung durch HW. x86 CPUs: 4 Ringe. Äussere Ringe stellen einen Zugriffsschutz für die inneren Ringe dar. Gegenseitige Isolierung der Ringe durch Hardware-Mechanismen. Befehle System-Call Steuerung Benutzer Programme Kern HW Unix-Signale Interrupts Ergebnisse C-5 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.3.3 Package Modell Green OS: Geschachtelte Packages für die Klassen, Zugriffschutz über Modifiers zu Variablen und Klassen, Programmierung in einer typsicheren Sprache, z.b. Java, (Mikrokern, <20 Kbytes). Packages: Applications: Abgeschirmte Programme, Dienste und Werkzeuge ohne Privilegien. System: Systemdienste mit Systemverantwortung, aber ohne MAGIC -Privilegien, Devices: Gerätetreiber mit punktuellen Zugriffsprivilegien auf die Hardware, Kernel: kleine Anzahl Klassen mit MAGIC -Privilegien (HW-Zugriff). Applications Kernel System Devices Interfaces C-6 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.4 Mikrokern Systeme Zuverlässiger (kleiner) Mikrokern, etwa für: Nachrichtenvermittlung & Prozessumschaltung, Speicherverwaltung & Sicherheit... Treiber: weniger privilegiert als Kern. OS-Dienste im Adressraum der Anwendung: Dateisystem, GUI, & Beispiel: Mach, L4. Robust, aber erheblich mehr Aufwand durch häufige Interprozesskommunikation. Anwendungen O S - D i e n s t e Mikrokern T r e i b e r H a r d w a r e C-7 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.4.1 Beispiel: Plurix Verteiltes Betriebssystem mit kleinem Kern (Uni Ulm). Schutz durch typsichere Sprache (Java) an Stelle von Prozessadressräumen. Schlanker Systementwurf: einfaches Prozessmodell, nur ein Adressraum, Vorbild Oberon. Objektorientierung: Abbildung realer Ressourcen, hierarchische Vererbung, Persistenz der Objekte... CPU Input Network... Devices StationVector[ ] Station Root Naming Heap Memory Interrupts Kernel TransactionVector[ Transactions[ ] ] Transaction EventLoop Public Users Config Devices C-8 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

Mehrere Betriebssysteme können auf einer Maschine betrieben werden. Virtuelle Maschinen sind Kopien der nachgebildeten Hardware: Unterbrechungen, E/A, Kern- & Benutzermodus,... Nachteil: großer Effizienzverlust. Monitor (Wirtsbetriebssystem): simuliert Hardware, fängt Systemaufrufe ab, übernimmt Ausführen auf realer HW. C.5 Virtuelle Maschinen v i r t u e l l e M a s c h i n e n AW AW AW AW B S B S B S B S Monitor H a r d w a r e Beispiele: PC Simulatoren: Qemu, VMWare, Xen, und Bochs. Virtualization Technology für Itanium-2 (ab 2005). JVM (Java Virtual Machine) interpretiert plattformunabhängigen Bytecode. C-9 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.6 Client / Server Architekturen Aufteilung in Client- und Server-Prozesse in einer Maschine. Zwanglose Erweiterung auf verteiltes System möglich. Keine Privilegien für Dienste im User-Mode. Validierung der Parameter zum Dienstaufruf in den Executive: gültige Handles, Zugriffsrechte,... Aber dieser Aufruf von Diensten ist aufwendig. Anw. Executive Kern T r e i b e r Services HAL H a r d w a r e C-10 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.6.1 Fallbeispiel: Executive in Windows XP BS-Funktionen im sicheren Teil des Systems (Kern). Security Monitor kooperiert mit Security-Subsystem. Object Manager verwaltet Betriebssystem-Ressourcen. "Local Procedure Calls" für Aufrufe zw. Adressräumen. Security Monitor Wechsel zum Kernel-Modus via INT 0x2e. Objekt Manager E/A-Manager: verwaltet und ruft Treiber: async. Kommunikation & Umkopieren von Daten. zusätzl. direct I/O: schneller, da ohne Umkopieren. Process Manager Kern LPC Virtual memory Hardware Abstraktion Kernel Mode E/A - Dateien - Cache - Drivers - Network C-11 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm

C.6.2 Subsysteme in Windows XP... Kommunikation mit Subsystemen über den LPC Manager (Local Procedure Call) in der Executive. Kommunikation zw. Subsystemen ebenfalls per LPC. Win32-Subsystem: DLLs beim Klienten: User32, Kernel32, GDI32, LPCs zum Win32-Subsystem (CSRSS.exe), weiter verteilen auf einzelne Subsysteme. User Mode M S - D O S K l i e n t O S / 2 Win32 K l i e n t W o W Klient K l i e n t W i n 3 2 K l i e n t W i n 3 2 K l i e n t Win32 Subsystem P o s i x K l i e n t LPCs Posix Subsystem OS/2 Subsystem K e r n e l M o d e Virtuelle DOS Masch. User Mode C-12 Betriebssysteme, Sommer 2008, P. Schulthess, VS Universität Ulm