Betriebssysteme 1. Thomas Kolarz. Folie 1

Ähnliche Dokumente
Betriebssysteme 1. Thomas Kolarz. Folie 1

Ein-/Ausgabe-Systeme

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

Überlegungen beim Entwurf eines Betriebssystems

Grundlagen Rechnerarchitektur und Betriebssysteme

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

G Einführung in Betriebssysteme

2.2 Rechnerorganisation: Aufbau und Funktionsweise

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

Wie groß ist die Page Table?

Echtzeit-Multitasking

Aufgabe 2 - Erweiterung um PIC und Interrupts

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

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

Operating System Kernels

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Die Mikroprogrammebene eines Rechners

Ein- Ausgabeeinheiten

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

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Anhang: Elementare Eigenschaften der Computerhardware

Grundlegendes zum PC


Hardware Virtualisierungs Support für PikeOS

Tutorium Rechnerorganisation

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Rechnernutzung in der Physik. Betriebssysteme

Betriebssysteme Kap. 6: E/A-Systeme

Assembler - Adressierungsarten

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Übung I Echtzeitbetriebssysteme

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Ein- und Ausgabe I/O WS 12/13 IAIK 1

White Paper. Embedded Treiberframework. Einführung

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

Teil VIII Von Neumann Rechner 1

Projekt für Systemprogrammierung WS 06/07

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Arithmetische und Logische Einheit (ALU)

Vorlesung 5: Interrupts

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

Computer-Systeme Teil 15: Virtueller Speicher

Technische Informatik 1

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Assembler und Hochsprachen

Aufbau und Funktionsweise eines Computers

Parallele Programmabläufe: R S

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

Aufgabe 2 - Erweiterung um PIC und Interrupts

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

Vorlesung Betriebssysteme I

Lösungsskizzen zur Abschlussklausur Betriebssysteme

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Vorlesung Rechnerarchitektur. Einführung

, WS2012 Übungsgruppen: Mo., Do.,

XIII. Inhaltsverzeichnis

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

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

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

Bibliotheks-basierte Virtualisierung

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

Inhaltsverzeichnis Übersicht Prozesse

Fragenkatalog zur Klausur Computersysteme

Computer-Architektur Ein Überblick

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

VORSTELLUNG DER DIPLOMARBEIT

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Prozesse: Prozesskontrollblock, -zustände, -umschaltung

Aufgabe 1 Entwicklung einer Virtuellen Maschine

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

Übung 1 - Betriebssysteme I

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Betriebssysteme Kap B: Hardwaremechanismen

Ein- und Ausgabe I/O. Kapitel 5 WS 07/08 IAIK 1

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

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS Teil 4/ProtectionI

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Dateisystem: Einführung

Dateisystem: Einführung

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

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

Einführung in die Theoretische Informatik

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

Philipp Grasl PROZESSOREN

Staatlich geprüfter EDV-Führerschein

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: Beginn: 10.

ZENTRALEINHEITEN GRUPPE

Dateisystem: Einführung

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

MOBILE DATENERFASSUNG. 10/04/13 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Einführung in Automation Studio

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

Transkript:

Folie 1

Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die AbstrakFon der PlaPe) 4. Eingabe und Ausgabe 5. VerFefung am Beispiel von Linux 6. Virtuelle Maschinen und Verteilte Systeme Folie 2

4. Eingabe und Ausgabe Grundlagen - Ein- /Ausgabegeräte KlassifikaFon - Ein- /Ausgabeport Nummern - Memory Mapped Ein- /Ausgabe Interrupts - Interrupts - Präzise und Unpräzise Interrupts Gerätetreiber - Gerätetreiber Folie 3

Ein- /Ausgabegeräte KlassifikaAon Ein- /Ausgabegeräte werden grob in die zwei Klassen blockorienferte Geräte und zeichenorienferte Geräte eingeteilt. Ein blockorienaertes Gerät speichert InformaFonen in Blöcken fester Größe, von denen jeder eine eigene Adresse besitzt. Jeder Block kann unabhängig von allen anderen gelesen oder geschrieben werden. Die FestplaPe ist ein blockorienfertes Gerät. Folie 4

Ein- /Ausgabegeräte KlassifikaAon Ein zeichenorienaertes Gerät erzeugt oder akzepfert Zeichenströme, ohne dabei auf irgendeine Blockstruktur zu achten. Es ist nicht adressierbar und kennt keine SuchoperaFon (z.b. Mäuse, Zeilendrucker, NetzwerkschniPstellenkarten) Das KlassifikaFonsschema in zeichen- und blockorienferte Geräte ist nicht perfekt. Die Übergänge sind zum Teil fließend. Z.B. können Bandlaufwerke als blockorienferte Geräte mit wahlfreiem Zugriff genutzt werden, da sie die Blöcke von der PlaPe speichern und es gibt Geräte, die nicht eingeordnet werden können (z.b. Uhren). Folie 5

Ein- Ausgabeport- Nummern Zwischen BS und dem mechanischen Gerät befindet sich der Controller (z.b. als Steckkarte im PC oder Chip auf dem Mainboard). Das BS inifalisiert den Controller mit ein paar Parametern und überlässt die weitere Steuerung des Gerätes dem Controller. Folie 6

Ein- Ausgabeport- Nummern Ein Controller besitzt Register, über die das Betriebssystem mit dem Gerät kommuniziert (schreibend u. lesend). Zusätzlich zu den Registern besitzen viele Geräte Datenpuffer, die ebenfalls zum Datenaustausch mit dem System genutzt werden. Die Adressen dieser Register sind die Ein- /Ausgabeport- Nummern und bilden den Ein- Ausgabeport- Namensraum. Die Gerätesteuerregister werden über spezielle Ein- /Ausgabebefehle angesprochen, die zum Assemblercode gehören. Folie 7

Memory Mapped Ein- /Ausgabe Anstelle von separaten Kontrollregistern können Bereiche im Arbeitsspeicher als Kontrollregister reserviert werden. Gewöhnlich liegen die zugewiesenen Adressen im oberen Adressraum. Diese Methode nennt man Memory- Mapped- Ein- /Ausgabe. Folie 8

Interrupts Grundlagen Eines der wichfgsten HilfsmiPel der allgemeinen Ein- /Ausgabe sind die Programmunterbrechungen (oder Interrupts). Folie 9

Interrupts Grundlagen Sobald ein Gerät eine Aufgabe beendet hat, erzeugt es ein Interrupt (sofern vom Betriebssystem zugelassen). Der Interrupt- Controller legt eine Nummer auf die Adressleitung (spezifiziert das Gerät) und ein Signal zur Unterbrechung der CPU. Die Nummer wird als Index für eine Tabelle (den sog. Interrupt- Vektor) verwendet, aus der der neue Befehlszähler geholt wird. Der neue Befehlszähler zeigt auf den Anfang der entsprechenden Interrupt Service RouFne (UnterbrechungsrouFne). Bevor die UnterbrechungsrouFne aufgerufen wird, wird der aktuelle Befehlszähler und einige Register von der HW gesichert Folie 10

Interrupts Grundlagen Abhängig vom Aumreten der Unterbrechung unterscheidet man synchrone und asynchrone Unterbrechungen. Synchrone Interrupts sind an die Ausführung einer InstrukFon gebunden und damit besfmmbar. Beispiele sind: Somware Interrupts durch Trap- Befehle Division durch Null Adressfehler Asynchrone Interrupts sind nicht an den Programmablauf gebunden. Sie hängen von prozessorexternen Faktoren ab. Beispiele sind: Busfehler Unterbrechungen ausgelöst von Peripherieeinheiten Folie 11

Präzise und Unpräzise Interrupts Ein Interrupt, das die Maschine in einem wohldefinierten Zustand hält, nennt man präzises Interrupt. Es besitzt die folgenden 4 Eigenschamen: 1. Der Befehlszähler wird an einer bekannten Stelle gesichert. 2. Alle Befehle vor dem aktuellen, auf den der Befehlszähler zeigt, wurden vollständig abgearbeitet. 3. Kein Befehl nach dem aktuellen Befehl wurde schon ausgeführt. 4. Der Ausführungsstand des Befehls, auf den der Befehlszähler zeigt, ist bekannt. Ein Interrupt, das diese Kriterien nicht erfüllt, nennt man unpräzises Interrupt. Folie 12

Präzise und Unpräzise Interrupts Folie 13

Präzise und Unpräzise Interrupts Lässt man unpräzise Interrupts zu, hat das Betriebssystem enorm viel Arbeit. Eine große Menge von Daten (für die vielen unterbrochenen Befehle) muss auf dem Stack gespeichert werden, was die Ausführung stark verzögern kann. Der Code der nöfg ist, um die normale Befehlsausführung nach der Interrupt- behandlung wieder aufzunehmen ist i.a. sehr kompliziert. Bei sehr schnellen superskalaren Prozessoren kann es deshalb zu der paradoxen SituaFon führen, dass sie für einen Echtzeitbetrieb ungeeignet sind, da ihre Interrupts zu langsam sind. Folie 14

Präzise und Unpräzise Interrupts Für präzise Interrupts, benöfgt man bei superskalaren Prozessoren (z.b. PenFum Serie) eine sehr komplexe Interruptlogik, die viel Platz auf dem Chip benöfgt. Der Prozessor muss jede AkFon sorgfälfg protokollieren und SchaPenkopien der Register anzulegen, damit ein präziser Interrupt jederzeit ausgelöst werden kann. Nicht bei jedem Interrupt ist es notwendig, den Zustand wieder herzustellen, z.b. bei schwerwiegenden Fehlern des Programms wird ein Interrupt ausgelöst und das Programm danach nicht mehr fortgesetzt. PenFum Prozessoren haben präzise Interrupts, so dass auch ältere Somware korrekt ausgeführt werden kann. (Ältere Somware war noch nicht unbedingt auf superskalare Prozessoren vorbereitet!) Folie 15

Gerätetreiber Jedes Ein- /Ausgabegerät benöfgt geräteabhängige Steuer- SW, den Gerätetreiber. Die Gerätetreiber gehören zwar zum BS, werden aber von den Herstellern der Geräte programmiert und mit den Geräten ausgeliefert. Normalerweise sind die Gerätetreiber ein Teil des BS- Kerns, damit sie auf benöfgte HW und insbesondere auf die Register des Controllers zugreifen können. Der Ansatz die Treiber so zu entwickeln, dass sie im Benutzeradressraum ablaufen ist ebenfalls möglich (Zugriff auf die Geräteregister dann über Systemaufrufe). Folie 16

Gerätetreiber Folie 17

Zusammenfassung Die wichfgsten Ressourcen eines Betriebssystems für die Steuerung der Ein- und Ausgabe, sind Interrupts und Gerätetreiber. Die Gerätetreiber sind die SchniPstelle zu den Geräten und müssen gerätespezifisch entwickelt und eingebunden werden. Interrupts (Programmunterbrechungen) sind notwendig, um die asynchrone Natur der KommunikaFon mit den Geräten zu berücksichfgen. Die KommunikaFon mit der Peripherie bezieht dabei nicht notwendigerweise die CPU ein, so dass diese zwischenzeitlich für andere Aufgaben genutzt werden kann. Bei modernen superskalaren Prozessoren ist die Interruptbehandlung entweder für das Betriebssystem oder für die Logik der CPU eine besondere Herausforderung. Man spricht in diesem Fall von präzisen und unpräzisen Interrupts. Folie 18