Betriebssystemschichten und virtuelle Maschinen

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

Betriebssysteme - Betriebssysteme: Übersicht R.Brause, J.W.G-Universität Frankfurt a.m.

Betriebssysteme - Übersicht

Betriebssysteme - Übersicht

Modul: B-BS Betriebssysteme WS 2015 Betriebssysteme - Übersicht

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

WS 2009/10. Carlos Dos Santos, Helmut Weber. Vorlesung: 2-stündig. Praktikumsgruppen : 2-stündig Klausur am Semesterende.

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

Betriebssysteme Grundlagen und Konzepte

E.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Modul B-PRG Grundlagen der Programmierung 1

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

Klausur Betriebsysteme, Windows NT. Wintersemester 00/01. Dipl.-Ing. Jürgen Halkenhäuser Dipl.-Ing. T. Kloepfer

Betriebssysteme Kap A: Grundlagen

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. Z., erweiterte Auflage

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

1.3 Architektur von Betriebssystemen

Rüdiger Brause. Betriebssysteme. Grundlagen und Konzepte. Dritte, überarbeitete Auflage Mit 170 Abbildungen. Springer

K. Felten Windows NT Fachhochschule Kiel Historie. Fachbereich Informatik und Elektrotechnik

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

PVFS (Parallel Virtual File System)

Inhaltsverzeichnis Übersicht Prozesse

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Betriebssysteme VO Betriebssysteme KU

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

Betriebssystemschichten ( )

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Kurs für Linux Online Kurs Verwalter des Linux System

Überlegungen beim Entwurf eines Betriebssystems

3. Betriebssystemorganisation

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

Netzwerkprogrammierung unter Linux und UNIX

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

Betriebssysteme 1. Thomas Kolarz. Folie 1

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS

I/O: Von der Platte zur Anwendung. Von Igor Engel

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

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

Praktische Informatik 1

Teil 3: Konzepte von Betriebssystemen

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

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Betriebsysteme (Windows NT) Vorlesung 2 Die Architektur von Windows NT

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

Der Scheduler von Windows 2000 Konzepte und Strategien

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

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

Rechnernutzung in der Physik. Betriebssysteme

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

6.1.5 Verzeichnisdateien

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

VMware als virtuelle Plattform

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

Einführung Betriebssysteme

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

TwinCAT HMI Application

Vernetzter Anschluss von Heidenhain - Steuerungen an MCIS DNC Cell / Plant

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

Herzlich Willkommen. Zum Vortrag zu Netzwerk und Linux im Rahmen der Linux Installations Party 2007

Das CIP der Mathematik

4D Server v12 64-bit Version BETA VERSION

Client - Server Architektur

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

2 Architektur und Konzepte

Acucorp Deutschland GmbH. HPe3000 Migration Workshop, 3. Dezember 2002

Der Scheduler von Windows Konzepte und Strategien

Threads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Threads Einführung. Zustände von Threads

Inhaltsverzeichnis VII. Teil I: PC- und Mikrocomputer-Technik

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

Computer & GNU/Linux Einführung Teil 1

Sicherheit wird messbar Lösungsansätze und Methoden. Case. 15. September 2009, Hotel St. Gotthard, Zürich

Fuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE

Anwendungen. Tom Vogt.

D Einführung Betriebssysteme

D Einführung Betriebssysteme

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

Virtualisierung auf Mac OS X. Mar3n Bokämper Max Riegel 30. November 2008

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Powershell DSC Desired State Configuration

Portabel Programmieren. Dr. Olaf Flebbe

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

Betriebssysteme Vorstellung

Rechnerarchitektur und Betriebssysteme (CS201): Virtualisierung II, ACM, Passwort, OS-Timeline

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

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

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

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

Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 ( ) ACLs und Capabilities

Smartphone Entwicklung mit Android und Java

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssystemsicherheit am Beispiel UNIX

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Installation und Konfiguration von SAMBA Gruppe 2

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Transkript:

Modul: Programmierung (B-PRG) Grundlagen der Programmierung 1 Teil 3 Betriebssystemschichten und virtuelle Maschinen Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) Übersicht Betriebssysteme, Schichten und virtuelle Maschinen Prozesse, Nebenläufigkeit Synchronisierung, Kommunikation, nicht-seq. Programmierung Dateioperationen, Dateisysteme Sicherheit und Schutzmechanismen Folie 2 1

Einführung DEF: Was ist ein Betriebssystem?? die Gesamtheit der Programmteile, die die Benutzung von Betriebsmitteln steuern und verwalten? die Software (Programmteile), die für den Betrieb eines Rechners anwendungsunabhängig notwendig ist Folie 3 Betriebssystemaufbau Benutzungsrelationen Benutzer benutzt Benutzerprogramm benutzt Betriebssystem benutzt Maschinenhardware Folie 4 2

Betriebssystemaufbau Betriebssystemschichten Schichtenmodell Zwiebelschalenmodell User 1 User 2 User 3 Compiler Editor... Spiele Betriebssystemdienste Hardware HW Aspekte Paralleler Zugriff Sequentieller Aufruf Abgeschlossenheit Sichtbarkeit Folie 5 Typischer Betriebssystemaufbau Benutzer 1 Benutzer N Benutzeroberfläche User Interface Management System Anwendung 1 Dienstprogramm Werkzeug Betriebssystemkern Operating System Kernel Hardware Systemaufruf Maschinencode Folie 6 3

UNIX-Betriebssystemkern Multi-User Überprüfbare Schnittstelle und Funktionsverteilung Speicherverwaltung Prozess- Serielle Ein/Ausgabe Dateisystem Display Floppy Netz manage- Platte TTY Drucker Maus ment Multi- programming user mode kernel mode Benutzer- Shell 1 Benutzer- Programm 1 Benutzer- Shell 2 System- Programm 1 System- Programm 2 Hardware Implementierungsunabhängige Schnittstellen: Portable Operating System Interface based on UniX Benutzungs oberfläche Folie 7 Windows NT - Anforderungen kompatibel zu vorhandenen Systemen Unix, DOS,.. zuverlässig und robust leicht übertragbar auf andere CPUs (Portierbarkeit) leicht veränderbar und anpassungsfähig leistungsstark Geht das überhaupt? Folie 8 4

Windows NT - Betriebssystemkern Idee: Zwischenschichten (e) einführen user mode kernel mode Logon LPC Object Manager Security Process Manager Win/DOS Client Win32 POSIX Systemdienste Local Memory Proc. Calls Manager Kernel services POSIX Client Hardware Abstraction Layer HAL Hardware SysCall Security Monitor OS/2 OS/2 Client I/O System Win NT 3.1, Win NT4.0, Windows 2000, Windows XP, Vista Version 3.1 4.0 5.0 5.1 6.0 Folie 9 Windows NT - Lösungen Kompatibilität pro emuliertes BS ein extra (Server), von Kunden (Clients) durch Nachrichten (local procedure calls LPC) angefordert. Sie setzen auf Dienstleistungen der NT Executive (system calls) auf. Robustheit Trennung der Programm-Ablaufumgebungen (virt. Maschinen) kein direkter Hardwarezugriff, fehlertolerantes Dateisystem, Netzdienste Portierbarkeit In C geschriebene Module, auf Hardwaremodell aufsetzend Folie 10 5

BS-Schnittstellen Schnittstellen in Python Python OS-Modul: Prozessoperationen exec*(...) Sofortiges Ausführen eines Programms; das jetzige wird nach dessen Start abgebrochen. * = l, le, lp, lpe feste Parameterzahl, e=envir, p=use path in e = v, ve, vp, vpe variable Parameterzahl pid = fork() Prozesserzeugung durch Kopie, Eltern: pid=0 (Unix) sys.exit(n) Abbruch des Prozesses. _exit(n) für fork() n = Ergebniscode spawn*(...) Sofortiges Ausführen eines Programms; das jetzige läuft nach dessen Start weiter. * = l, le, lp, lpe feste Parameterzahl, e=envir, p=use path in e = v, ve, vp, vpe variable Parameterzahl Folie 12 6

Python OS-Modul: Prozess-Parameter getlogin Benutzername uname(sysname, nodename, release, version, machine) Alles über die Maschine environ, getenv, Arbeitsumgebung: putenv Definition der Variablennamen fchdir(fd), chdir(path), Arbeitsordner-Pfadnamen cwd get, set : uid Benutzer ID des Prozesses gid, pgid(pid), pgrp, groups Gruppen IDs des Prozesses pid, ppid Eltern ID des Prozesses umask (mask) Erzeugermaske des Prozesses Folie 13 Python OS-Modul: Dateioperationen fdopen read,write close popen - Erzeugen oder Öffnen von Dateien - Lesen und Schreiben auf Dateien - Schliessen von Dateien - Aufsetzen von pipes remove, rename - Löschen oder Umbenennen von Dateien chmod, chown - Lesen und Setzen von Zugriffsrechten von Dateien access - Test auf Zugriffsrechte an Dateien oder Pfade listdir, mkdir, - Auslesen, Erzeugen,Löschen von Ordnern rmdir Folie 14 7

Python Betriebssystem-nahe Module platform Identifikation des benutzten Betriebssystems locale, gettext lokale bzw. nationale Besonderheiten curses mutex Ansteuerung der blinkenden Bildschirmmarke Objekte zum gegenseitigen Ausschluss time, datetime Abfrage und Konversion der Zeit stat Typ einer Datei (file, pipe, special device, link, directory, socket) getpass getopt shutil Einlesen des Passworts Einlesen und parsing der übergebenen Parameter höhere Dateioperationen wie Kopieren, Verschieben oder Löschen eines ganzen Dateibaums. Folie 15 Schnittstellen und Virtuelle Maschinen 8

Schnittstelle : Beispiel Rechteck zeichnen, Länge dx, Breite dy DrawRectangle(float dx,dy) Methode: DrawRectangle Daten: float dx,dy Protokoll: zuerst Modul Grafik initialisieren dann Skalierung setzen dann Bezugspunkt setzen schließlich Rechteck zeichnen. benutzt die Methode drawline mit den Daten x0,y0,x1,y1 Folie 17 Schnittstellen : Verallgemeinerung Eine Schnittstelle besteht aus Daten sowie Funktionen bzw. Methoden dafür (Objekte) Protokolle für die Benutzung der Funktionen und Daten, mit denen das Objekt Dienstleistungen erbringt (Exportschnittstelle) Die Implementierung benötigt dazu Daten, Funktionen und Protokolle für die Dienstleistungen, die sie zur Erfüllung benötigt (Importschnittstelle). Folie 18 9

Schnittstellen & Abstrakte Datentypen Abstrakter Datentyp = Zugriff auf Daten nur über definierte Funktionen (Kapselung) Methode1(.) Methode2(.) Attribut A code Daten Objekt Schnittstelle des ADT = Zugriff + Reihenfolge des Zugriffs = Funktionen + Protokoll Folie 19 Schnittstellen & Abstrakte Datentypen Abstrakter Datentyp = Zugriff auf Daten nur über definierte Funktionen (Kapselung) Methode1(.) Methode2(.) Attribut A code Kapselung Daten information hiding Objekt Schnittstelle des ADT = Zugriff + Reihenfolge des Zugriffs = Funktionen + Protokoll Folie 20 10

Schnittstellen: Export & Import Export/ Import ist relativ bzgl. einer Sicht! Export Modul 1 Import Import Modul 2 Export Folie 21 Abstrakte und Virtuelle Maschinen (x1,y1) Beispiel: Zeichne ein Rechteck (x0,y0) DrawRectangle(x0,y0,x1,y1) Virtuelle Maschine Abstrakte Maschine DrawRectangle(x0,y0,x1,y1) Graphic Processor Unit (GPU) Display(RAM) DrawRectangle(x0,y0,x1,y1) V1 DrawLine(x0,y0,x1,y0) DrawLine(x1,y0,x1,y1) DrawLine(x1,y1,x0,y1) DrawLine(x0,y1,x0,y0) SetPoint(x0,y0,black) SetPoint(x0+dx,y0,black) Display(RAM) Maschine 1 Maschine 2 V2 V3 V4 Folie 22 11

Abstrakte und Virtuelle Maschinen Beispiel Waschmaschine Benutzungsoberfläche Controller Schichtenmodell: Abstrakte Maschine: Schnittstellen, nur Zugang geregelt virtuelle Maschine Implementation ist verborgen reelle Maschine Motor, Druckventile, Temperatursensoren, Heizungen, Pumpen Folie 23 Windows NT - Betriebssystemkern Idee: virtuelle Maschinen einführen Logon Security Win/DOS Client Win32 POSIX POSIX Client OS/2 OS/2 Client user mode kernel mode LPC Systemdienste SysCall Folie 24 12

Virtuelle Maschinen Schichtenabstraktion Schicht 3 Zeit Schicht 2 Schicht 1 Folie 25 Beispiel: virtuelle CPU Software-Hardware-Migration bei virt. CPU Konfiguration 1 Konfiguration 2 Programm in Java-Code Java-Code / Maschinencode CPU- Hardware Programm in Java-Code Microcodeund CPU-Hardware Vorteile Programm muss bei HW-Wechsel nicht geändert werden Unabh. HW-Entwicklung je nach Kundenwunsch Folie 26 13

Virtuelle, logische, physikalische Geräte Beispiel: virtueller Festplattenspeicher Kontrolle Daten logische Geräte = physikalische Geräte + HW-Treiber. virtuelle Geräte = logische Geräte +Verwaltungstreiber storage management Treiber für log. Geräte log. Gerät 1 log. Gerät 2 Treiber 1 Treiber 2 phys. Gerät 1 phys. Gerät 2 Virtuelles Gerät Blockaggregation Folie 27 Beispiel: Virtueller Massenspeicher Storage Area Network SAN LAN Anfrage asym. Pooling metadata server Ortsinfo Block I/O Lun 2 file server NAS Network Attached Storage S A N Folie 28 14