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

Ähnliche Dokumente
Betriebssysteme. VO Betriebssysteme

Vorlesung: Betriebssysteme

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

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

Betriebssysteme VO Betriebssysteme KU

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

Betriebssysteme Vorstellung

B.4. B.4 Betriebssysteme Prof. Dr. Rainer Manthey Informatik II 1

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05

Betriebssysteme Kap A: Grundlagen

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Grundlagen Rechnerarchitektur und Betriebssysteme

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Betriebssysteme R. Thomas (Stand : SS 2010)

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

Überblick und Aufgaben

Betriebssysteme (BS)

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

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

Betriebssysteme Ein Überblick

Betriebssysteme 13/14

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

Betriebssysteme 1, SS 2016, Hans-Georg Eßer

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

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

Virtueller Speicher und Memory Management

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Parallele und verteilte Anwendungen in Java

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

D Einführung Betriebssysteme

RO-Tutorien 15 und 16

Hardware Virtualisierungs Support für PikeOS

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

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

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

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

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Rechnernutzung in der Physik. Betriebssysteme

Algorithmen II Vorlesung am

I Einführung in Betriebssysteme

Abstrakte Schnittstelle

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

Dämon-Prozesse ( deamon )

Computer & GNU/Linux Einführung Teil 3

Computer & GNU/Linux Einführung Teil 1

Projekt für Systemprogrammierung WS 06/07

Grundlagen der Rechnerarchitektur. Einführung

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Einführung Betriebssysteme

Echtzeit-Multitasking

Echtzeitbetriebssysteme

Echtzeit-Multitasking

Wie groß ist die Page Table?

G Einführung in Betriebssysteme

Teil 3: Konzepte von Betriebssystemen

Technische Informatik 1

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

Operating System Kernels

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Mehrprozessorarchitekturen

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

5 Kernaufgaben eines Betriebssystems (BS)

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Kapitel III. Prozessverwaltung. VO Betriebssysteme

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

M5000 einfach ablösen durch T4/T5 LDoms und Solaris Zonen

Tutorium Rechnerorganisation

Universität Karlsruhe (TH)

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

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

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

Speicherverwaltung (Swapping und Paging)

Technische Informa/k II. Prof. Dr. Bernd Freisleben Sommersemester 2013 Kapitel 5: BetriebsmiCelverwaltung

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

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

Scheduling Mechanisms for the Grid

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

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

Threads and Scheduling

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

Lösung von Übungsblatt 11. (Virtualisierung und Emulation)

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Praktische Informatik 1

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

Transkript:

Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1

Kapitel I Betriebssysteme: Aufgaben und Überblick V 2

Was ist ein Betriebssystem (BS)? (1) Verwaltung von Ressourcen Ressourcen: CPU, Speicher, Platte, Netzwerk BS vergibt diese Ressourcen. BS benötigt selbst Ressourcen. Virtuelle Maschine Abstraktion einer größeren (oder anderen) Maschine Beispiele: virtueller Speicher ist größer als der tatsächliche Speicher Java Virtual Machine (Stack-Maschine) Multiplexor ermöglicht das Teilen von Ressourcen und Schutzmechanismen Motivation sind Kosten: $40 Mio Superrechner

Was ist ein Betriebssystem? (2) Anbieter von Serviceleistungen Ressourcen Schnittstelle für Programmierer Window-System Speicherverwaltung, etc. Software, die immer geladen ist oder läuft BS Kernel: kleines und geschütztes Programm

Betriebssystemstruktur in Betriebssystem besteht häufig aus folgenden omponenten: Prozessmanagement Hauptspeichermanagement Sekundärspeichermanagement Netzwerkmanagement Schutzmechanismus Kommando-Interpreter-System

Betriebssystemstruktur: Prozessmanagement Programm ist passive Einheit (z.b. Sequenz von Bytes). Ein Prozess ist ein Programm, das von der CPU exekutiert wird. Die Exekution der Befehle erfolgt in der Regel sequentiell. Programme benötigen Ressourcen, die vom BS zugeteilt werden. Betriebssystem: erzeugt/löscht Prozesse. legt Prozesse in Warteschlange. unterstützt Synchronisation von Prozessen. ermöglicht Kommunikation zwischen Prozessen.

Betriebssystemstruktur: Hauptspeichermanagement Programme und Daten befinden sich im Hauptspeicher (primärer Speicher). Programme müssen sich vor der Exekution im Hauptspeicher befinden. Hauptspeicher wird von CPU und Input/Output Devices geteilt. Betriebssystem: vergibt Hauptspeicher an Prozesse. überwacht, welche Teile des Hauptspeichers vergeben/frei sind. kontrolliert, welche Prozesse von der Platte in den Hauptspeicher geladen werden.

Betriebssystemstruktur: File-Management Daten können in verschiedenen Speichern abgelegt werden: Hauptspeicher, magnetische Platte, magnetisches Band, optische Platte usw. Jedes Speichermedium wird von speziellem Device Controller kontrolliert. BS abstrahiert von physikalischem Speicher auf logische Einheit: File. Ein File besteht aus Sequenz von Bits, Bytes, Zeilen, Records usw. Betriebssystem: erzeugt und löscht Files/Verzeichnisse. stellt Befehle für das Manipulieren von Files zur Verfügung. kontrolliert die Abbildung von Files auf sekundären Speicher.

Betriebssystemstruktur: Sekundärspeichermanagement Hauptspeicher zu klein für alle Programme. Bei Stromversorgungsproblemen gehen alle Daten des Hauptspeichers verloren. Benötige Sekundärspeicher (z.b. Plattenspeicher), der alle Programme dauerhaft speichert. Programme werden von Sekundärspeicher erst in den Hauptspeicher geladen, wenn diese exekutiert werden. Betriebssystem: vergibt Sekundärspeicher. gibt Sekundärspeicher frei.

Betriebssystemstruktur: Netzwerkmanagement Bei verteilten Architekturen gibt es n Rechner mit privatem Speicher. Rechner kommunizieren über ein Netzwerk. Netzwerk kann vollständig oder partiell konfiguriert sein. Betriebsystem ermöglicht Zugriff auf alle Ressourcen, die über ein Netzwerk verbunden sind.

Betriebssystemstruktur: Schutzmechanismus Parallel exekutierende Prozesse müssen geschützt werden. Irgendwann gibt jeder Prozess die CPU ab. Prozess darf nicht auf Daten eines anderen Prozesses zugreifen. HW-Schutzmechanismus kontrolliert den Zugriff von Prozessen auf Ressourcen.

Betriebssystemstruktur: Kommando-Interpreter-System (Shell) Schnittstelle zwischen Benutzer und BS. Teil des Betriebssystems, welches BS-Befehle exekutiert. Login. Starten eines neuen Prozesses. Statusabfrage von allen Prozessen, etc. Shell bekommt jeden Befehl an BS und exekutiert diesen. Prozesse erzeugen/terminieren Input/Output Management Management des Sekundärspeichers Hauptspeichermanagement File-Zugriffe Schutzmechanismus Netzwerkmanagement

BS Serviceleistungen BS stellt Umgebung (Services) für das Exekutieren von Prozessen zur Verfügung: Programmexekution Input/Output Operationen Manipulation des File-Systems Kommunikation Fehlererkennung: Probleme mit der Stromversorgung Speicherfehler Verbindungsfehler im Netzwerk Prüfsummenfehler bei Plattenzugriff Vergabe von Ressourcen Abrechnung von Ressourcen Schutzmechanismus Fehlerbehandlung durch BS

Anforderungen an ein BS Robust Akzeptiere jede gültige Eingabe Entdecke und behandle jede ungültige Eingabe BS sollte man nicht zum Absturz bringen können Konsistent Gleiche Operationen sollten gleiche Semantik haben Lese-Operationen von File oder Netzwerk sollten gleich aussehen. Ein - Flag sollte in allen Kommandos gleiche Bedeutung haben. Konventionen Definiere Konvention Beachte Konvention bei Erweiterungen Proportional Einfache Fälle sind schnell Default-Fälle Komplexe und seltene Fälle sind möglich aber langsamer rm sollte warnen

Warum beschäftigen wir uns mit BS? BS sind große und komplexe Programme Software Engineering ist wichtig! Es gibt kein perfektes BS Zu viele Klassen von Benutzern Echtzeit, Desktop, Server, Multimedia, etc. Viele verschiedene Modelle und Abstraktionen sind möglich. Viele Abstraktionsebenen Hardware-Details Höhere Konzepte: Deadlock, Synchronisierung, etc. Notwendigkeit Zuverlässigkeit: Wenn das BS abstürzt, ist auch der Computer abgestürzt. Recovery: Wenn das BS abstürzt, sollten nicht alle Files verloren gehen. BSe sind interessant Details sind interessant.

Einfache Batch-Systeme Ein Job besteht aus einem Programm mit Eingabedaten. Mehrere Jobs werden zu Batches zusammengefasst und vom Betriebssystem exekutiert. Keine Interaktion mit Programmierer oder Benutzer während der Exekution Die Zeit zwischen Abschicken des Jobs und Rückgabe der Resultate hängt von folgenden Faktoren ab: Berechnungsaufwand des Jobs Zeit bis das Betriebssystem mit der Exekution des Jobs beginnt. Probleme Jobs nützen die CPU, Platte und I/O Devices nicht gleichmäßig aus. Die CPU ist viel schneller als Platte oder I/O Devices.

Batch System in Batch-System aus den Anfängen des Computerzeitalters

Multiprogrammed Batch Systems Mehrere Jobs warten auf die Zuteilung der CPU. Das Betriebssystem kann beliebigen Job auswählen, um Auslastung der CPU zu maximieren. Wenn ein Job, dem die CPU zugeordnet ist, auf ein externes Ereignis (z.b. Ende einer I/O Operation) wartet, bekommt ein anderer Job die CPU vom Betriebssystem zugewiesen. Solange es einen Job gibt, der von der CPU exekutiert werden kann, ist die CPU ausgelastet. Die Auswahl eines bestimmten Jobs für die Exekution aus einer Job- Warteschlange nennt man Job-Scheduling. Problem: keine Interaktion während der Job-Exekution Jobs mit langen Laufzeiten und ohne Benutzereingabe eignen sich besonders gut für Multiprogrammed Batch Systems.

Time-Sharing-Systeme Mehrere Jobs teilen sich die CPU während die Jobs exekutieren. Interaktion während Exekution ist möglich. Z.B. während ein Benutzer Daten für einen bestimmten Job eingibt, kann ein anderer Job exekutiert werden. Interaktive Systeme werden vor allem für Jobs verwendet, die kurze Antwortzeiten benötigen. Wichtige Eigenschaften von Time-Sharing-Systeme: Preemptive und non-premptive Scheduling Prioritäten

Literatur Operating System Concepts, Silberschatz, Galvin, Verlag Addison Wesley Modern Operating Systems, Tanenbaum, Verlag Prentice Hall Operating Systems, Deitel, Verlag Addison Wesley

Zusammenfassung BS stellt portable Umgebung zur Verfügung, um Programme zu entwickeln und zu programmieren. BS verwaltet Ressourcen, um eine gute Performance des Systems zu erzielen. BS ist selbst ein komplexes Softwaresystem.