Grundlagen der Betriebssysteme [CS2100]

Slides:



Advertisements
Ähnliche Präsentationen
Computersysteme in Überblick
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Informatik Tagesprotokoll vom
FU Berlin SS 2003 Klaus-Peter Löhr
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Zentraleinheit CPU, Motherbord, RAM
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Windows Universität zu Köln
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
Einführung Definitionen
2.5. Mikrocontroller-Komponenten
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
Entwicklung verteilter eingebetteter Systeme - Einführung
Duo- und Quad Prozessor-Architektur
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Einführung in betriebssysteme
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Di., 8.30 – Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Ein Rechensystem ist ein aus Hard- und Software bestehendes System zur Speicherung und Verarbeitung von Informationen.
Betriebssysteme allgemein
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Software und Programme
Das Betriebssystem.
Betriebssysteme & BIOS
Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y >
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Herzlich Willkommen zu meiner Präsentation
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Systemsoftware und Betriebssysteme
Datenverarbeitung im PC
Verarbeitung und Computerinneres
Johann Baron von Neumann
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Studiengang Informatik FHDW
2.3 Implementierung von Prozessen
Betriebssysteme: Windows
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.

1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Betriebssysteme allgemein
Betriebssysteme: Theorie
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Ablauf von Daten- verarbeitungsprozessen Gliederung: ● Zeitliche Steuerung von Abläufen – Druckauftragsverarbeitung – scheinbare Gleichzeitigkeit von Prozessen.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
General Download Finder
Betriebssystem, BIOS, Firmware, Treiber, Systemtools
Magische Wand Ein Spiel zum Thema: Betriebssysteme.
1AHWIL Dennis Can, Lucas Hofbauer, Fabian Harra
CPU Furkan Dogan.
Vom Prozessor zum System
Vom HW-Automaten zum Prozessor
Titel der Präsentation
Grundlagen der Rechnerarchitektur [CS ]
Compiler für Eingebettete Systeme [CS7506]
Aufbau und Anwendungen von Mikrokontrollern
Studiengang Informatik FHDW
Einführung Definitionen
Einführung Definitionen
 Präsentation transkript:

Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm

Kapitel 3 Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Inhalte der Vorlesung Einführung Zahlendarstellungen und Rechnerarithmetik Einführung in Betriebssysteme Prozesse und Nebenläufigkeit Filesysteme Speicherverwaltung Einführung in MIPS-Assembler Rechteverwaltung Ein-/Ausgabe und Gerätetreiber © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Inhalte des Kapitels Einführung in Betriebssysteme Einordnung Was ist ein Betriebssystem? Struktur des Betriebssystems Aspekte von Betriebssystemen Betriebsarten Verwaltung von Ressourcen Programmiermodelle Hardware-Unterstützung Prozessor Betriebsmodi des Prozessors Externe Unterbrechungen (Interrupts) Interne Unterbrechungen (Exceptions) Systemaufrufe (System Calls, Traps) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Was ist ein Betriebssystem (Operating System, OS)? (1) DIN 44300 „... die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen.“ Tanenbaum „... eine Software-Schicht ..., die alle Teile des Systems verwaltet und dem Benutzer eine Schnittstelle oder eine virtuelle Maschine anbietet, die einfacher zu verstehen und zu programmieren ist [als die nackte Hardware].“ © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Was ist ein Betriebssystem (Operating System, OS)? (2) Silberschatz/Galvin „... ein Programm, das als Vermittler zwischen Rechnernutzer und Rechner-Hardware fungiert. Der Sinn des Betriebssystems ist eine Umgebung bereitzustellen, in der Benutzer bequem und effizient Programme ausführen können.“ Brinch Hansen „... der Zweck eines Betriebssystems [liegt] in der Verteilung von Betriebsmitteln auf sich bewerbende Benutzer.“ Zusammenfassung Software zur Ressourcenverwaltung Bereitstellung von Grundkonzepten zur statischen und dynamischen Strukturierung von Programmsystemen © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Struktur des Betriebssystems (1) Betriebssystem zwischen Anwendung und Hardware Anwendungen Systemanwendung Systemschnittstelle HW/SW-Schnittstelle © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Struktur des Betriebssystems (2) Anwendungen Laufen „auf“ Betriebssystem Betriebssystem stellt abstrakte Maschine dar (Programmiermodell) Interaktion mit Betriebssystem über Systemschnittstelle Systemaufrufe (Supervisor Call, System Call): Beauftragung des Betriebssystems Systemanwendungen Einige Systemdienste häufig als Systemanwendungen realisiert Laufen wie Anwendungen, gehören aber zum Betriebssystem Z.B. Zeitdienst, Namensdienst, Dateiserver, ... Spezielle Anwendungen Z.B. Editoren, Compiler, Konfigurationsprogramme, ...  Interaktion zwischen Anwendungen nur über Betriebssystemkern © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Roter Faden Einführung in Betriebssysteme Einordnung Was ist ein Betriebssystem? Struktur des Betriebssystems Aspekte von Betriebssystemen Hardware-Unterstützung © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Betriebsarten Klassifikation nach Auftragsbearbeitung Stapelverarbeitung (Batch Processing) Eine Aufgabe nach der anderen Interaktiver Betrieb (Interactive Processing) Rechner reagiert sofort auf Befehle Time-Sharing Betrieb Rechenzeit wird über mehrere Benutzer oder Programme aufgeteilt Echtzeitbetrieb (Real-Time Processing) Rechner reagiert innerhalb fester vorgegebener Zeitschranken Ein- oder Mehrprozessbetrieb (Singletasking, Multitasking) Ein- oder Mehrbenutzerbetrieb (Single-User, Multi-User) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Verwaltung von Ressourcen (1) Physikalische Ressourcen Virtuelle Ressourcen Vom Betriebssystem erst geschaffene Ressourcen Z.B. Speichersegmente, Dateien, ... © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Verwaltung von Ressourcen (2) Resultierende Aufgaben Belegung von Ressourcen auf Anforderung Multiplexen von Ressourcen für mehrere Benutzer bzw. Anwendungen Schaffung von Schutzumgebungen Wechselseitiger Ausschluss des Ressourcenzugriffs Zugriffsberechtigungen Umgebung zur koordinierten gemeinsamen Nutzung von Ressourcen Klassifizierbar in Aktive, zeitlich aufteilbare (Prozessor) Passive, nur exklusiv nutzbare (Peripherie-Geräte, z.B. Drucker u.Ä.) Passive, räumlich aufteilbare (Speicher, Plattenspeicher u.Ä.) Unterstützung bei der Fehlerbehandlung / Fehlererholung © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Verwaltung von Ressourcen (3) Typische Einzelkomponenten des Betriebssystems Anwendungs-, Prozessverwaltung Filesysteme Speicherverwaltung Verwaltung der Ein-/Ausgabegeräte Gerätetreiber Systemsteuerung Kommandosprache Shell (Kommandointerpreter) (Grafische Benutzeroberfläche) Ablaufsteuerung (Starten und Beenden von Programmen) Konfiguration © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Programmiermodelle Betriebssystem realisiert ein Programmiermodell Programmiermodell im Kleinen durch Programmiersprache geprägt Programmiermodell im Großen durch Betriebssystem geprägt Große und/oder verteilte Anwendungen bestehen aus vielen kooperierenden Programmen Programmiermodell des Betriebssystems Abstrahiert von konkreter Hardware und Hardwarekonfigurationen Abstrakte Maschine Begriffliche Basis zur Strukturierung von Programmsystemen und ihrer Ablaufsteuerung Komponenten, z.B. Programme, Tasks, Prozesse Interaktionen, z.B. Aufrufe, Benachrichtigungen, Datenströme © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Roter Faden Einführung in Betriebssysteme Einordnung Aspekte von Betriebssystemen Betriebsarten Verwaltung von Ressourcen Programmiermodelle Hardware-Unterstützung © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Hardware-Unterstützung Effiziente Betriebssysteme Unterstützung durch Hardware Prozessor Memory Management Unit (MMU) Intelligente Bausteine zur Ein-/Ausgabe (E/A) (Input/Output, I/O) usw. © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Prozessor Aufbau Digitales Schaltwerk ( siehe „Grundlagen der Rechnerarchitektur“) Enthält Register Für Daten und ähnliches Programmzähler (Speicheradresse des nächsten Befehls im Speicher) Führt einen Befehl (Instruktion) nach dem anderen aus Programmzähler wird inkrementiert (außer bei Sprüngen) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Betriebsmodi des Prozessors Moderne Prozessoren arbeiten in einem von mindestens zwei Modi Benutzermodus (User Mode) Eingeschränkter Befehlssatz Privilegierter Modus (Supervisor Mode) Erlaubt Ausführung privilegierter Befehle Konfigurationsänderungen des Prozessors Moduswechsel Spezielle I/O-Befehle Modus wird meist als Bit in speziellem Register repräsentiert (Condition Code Register, CCR) Supervisor Flag S (z.B. 1 = Supervisor Mode, 0 = User Mode) Bit kann nur im privilegierten Modus verändert werden © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (1) Unterbrechungen von außen (External Interrupts) Prozessor unterbricht laufende Bearbeitung und führt eine definierte Befehlsfolge aus (vom privilegierten Modus aus konfigurierbar) Vorher werden alle Register einschließlich Programmzähler gesichert (z.B. auf einem Stapelspeicher/Stack) Nach einer Unterbrechung kann der ursprüngliche Zustand wiederhergestellt werden Unterbrechungen werden im privilegierten Modus bearbeitet Signalisieren der Unterbrechung (Interrupt Request, IRQ) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (2) Anwendung Reaktion auf externes Ereignis Fehlerbedingung Ankommende Netzwerknachricht Rückmeldung durch langsame Geräte „Wecker“-Funktion Abwicklung der Unterbrechungsbehandlung? © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (3) Schematische Befehlsabwicklung Reale Prozessoren Maskierung von Interrupts Annahmeprotokoll gegen Doppelausführung © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (4) Adresse der Unterbrechungsbehandlung steht fest Meist konfigurierbar Rückkehr von der Unterbrechungsbehandlung Spezieller Befehl, z.B. RTI, Return from Interrupt Befehlsausführung von RTI Restauriere gesicherte Register Insbesondere PC (alter Befehlspfad) Insbesondere CCR Umschaltung in alten Modus Meist durch Restauration des CCR © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (5) Einsatz eines Stapelspeichers (Stack) Operationen Push und Pull Push: Speichert ein Datum „oben“ auf dem Stapel Pull: Holt zuletzt gespeichertes Datum vom Stapel Beispiel © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Externe Unterbrechungen (6) Ablauf der Unterbrechung Unterbrochene Befehlsfolge bleibt in der Regel unberührt Unterbrechung ist transparent Verschachtelte Unterbrechungen möglich Unterbrechung der Unterbrechungsbehandlung Koordinierte Handhabung der gesicherten Register Unterbrechung beliebiger Betriebsmodi Unterbrechung auch des privilegierten Modus © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

Interne Unterbrechungen Unterbrechungen durch die Befehlsausführung (Internal Interrupts, Exceptions) Bei bestimmten Fehlersituationen (z.B. Division durch Null) unterbricht Prozessor laufende Befehlsbearbeitung und führt definierte Befehlsfolge aus (ähnlich wie bei externen Unterbrechungen) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Systemaufrufe (1) Systemaufrufe (Traps, User Interrupts) Wie kommt man kontrolliert vom Benutzermodus in den privilegierten Modus? Spezielle Befehle zum Eintritt in den privilegierten Modus Prozessor schaltet in privilegierten Modus und führt definierte Befehlsfolge aus (vom privilegierten Modus aus konfigurierbar) Solche Befehle werden dazu genutzt, die Betriebssystemschnittstelle zu implementieren (Supervisor Calls) Parameter werden nach einer Konvention übergeben (z.B. auf dem Stack) © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Systemaufrufe (2) Schematische Befehlsabwicklung © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Zusammenfassung (1) Einordnung Betriebssystem: Software, die Ressourcen eines Rechners verwaltet und dem Anwender eine Umgebung schafft, die weniger komplex und leichter zu bedienen ist als die reale Hardware Struktur: (System-) Anwendungen; Systemschnittstelle; Kern (Kernel); HW/SW-Schnittstelle Aspekte von Betriebssystemen Betriebsarten: Batch, Interactive, Time-Sharing, Real-Time Processing; Mehrprozess- / Mehrbenutzerbetrieb Ressourcen-Verwaltung: physikalische & virtuelle Ressourcen; wechselseitiger Ausschluss; OS-Komponenten (Prozessverwaltung, Filesysteme, Speicherverwaltung, Ein-/Ausgabe und Gerätetreiber) Programmiermodelle: Abstraktionsebene von der realen Hardware © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme

3 - Einführung in Betriebssysteme Zusammenfassung (2) Hardware-Unterstützung Betriebsmodi: User Mode und Supervisor Mode Externe Unterbrechungen: Interrupt-Behandlung; Befehlsabwicklung; Rückkehr von Interrupt-Behandlung; Stack-Speicher Systemaufrufe: Wechsel zwischen User und Supervisor Mode; Trap Handler; Realisieren der Betriebssystemschnittstelle © H. Falk | 09.11.2018 3 - Einführung in Betriebssysteme