Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:

Slides:



Advertisements
Ähnliche Präsentationen
Einer der Dienste im Internet
Advertisements

der Universität Oldenburg
Ausführen.
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
10.2 Wechselseitiger Ausschluss in Hardware
Kapitel 6 Betriebssysteme - Einführung
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
C Tutorium – Semaphoren –
FU Berlin SS 2003 Klaus-Peter Löhr
2 Systemdienste Wiederholungsempfehlung: Rechnerorganisation Beachte: Systemaufrufe sind sprachunabhängig. Ihre Beschreibung bezieht sich daher auf das.
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Kapitel 7 Prozesse und Threads
Windows Universität zu Köln
PS: Basisinformationstechnologie Jens Alvermann
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.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
OpenMP Präsentation im Rahmen des Seminars
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
1 NetWork File System © April 2002, G. Hellberg Network File System Konfiguration und Einsatz.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Datenströme DVG Datenströme.
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Referat zum Thema „DLL“
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
Programmieren mit MS Small Basic
Gerade bei Fotobearbeitungen kann es leicht zum Verlust der Dateierweiterung (file extension) kommen. Nach stundenlanger Arbeit lässt sich eine Datei nicht.
Wenn Programme Entscheidungen fällen müssen, dann …
DNS Domain Name System oder Domain Name Service
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Betriebssysteme allgemein
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
6.5 Lindas Tupelraum Interaktion von Prozessen über zentralen Umschlagplatz für alle zwischen Prozessen ausgetauschten Daten: Tupelraum (tuple space) (Carriero/Gelernter,
Software und Programme
Das Betriebssystem.
Betriebssysteme & BIOS
Seminar Internet Technologien
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Betriebssysteme: Unix
Wer macht was beim Einschalten des Rechners?
Herzlich Willkommen zu meiner Präsentation
Prozess-synchronisation
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Permanente Datenspeicherung
Bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.
Systemsoftware und Betriebssysteme
Studiengang Informatik FHDW
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Einführungstutorial: Linux Konsole
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
2.3 Implementierung von Prozessen
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
6.4.4 Berechtigungen (Capabilities)
Betriebssysteme Übung 2. Tutorium „System Calls & Multiprogramming“
Übung Betriebssystem, Uni Innsbruck 1 Projekt1: Prozesse unter Unix Teil I Grundlagen von Unix.
1.2 Entwicklungsgeschichte
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Ablauf von Daten- verarbeitungsprozessen Gliederung: ● Zeitliche Steuerung von Abläufen – Druckauftragsverarbeitung – scheinbare Gleichzeitigkeit von Prozessen.
 Präsentation transkript:

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher geräteunabhängig organisiert in baumartigen Verzeichnisstrukturen zu jeder Datei gehört ein Pfad in diesem Baum Adressraum eines Prozesses ist eine Abstraktion des Arbeitsspeichers des Rechners virtueller Speicher abstrahiert von der Größe des vorhandenen Arbeitsspeichers virtuelle Adressen abstrahieren von physischen Adressen Betriebssystem verwaltet Ein-/Ausgabegeräte Gerätetreiber sind geräteabhängig, realisieren Abstraktion des Geräts RW-Systemarchitektur Kap. 7

Systemfunktionen (System Calls) Schnittstelle zum Betriebssystem realisieren Betriebssystem-Dienste, z.B. Ein-/Ausgabe, Dateioperationen, Prozesskreieren, -löschen, … schalten zwischen Benutzer-Modus und System-Modus um, manche blockieren den aufrufenden Prozess. Aufruf Systemfunktion Wiederaufnahme Benutzerprogramm Benutzer- programm Benutzer- Modus blockiert Betriebs- system System- Modus Ausführung Systemfunktion RW-Systemarchitektur Kap. 7

Systemfunktionen (System Calls) Systemfunktionen organisiert in Programmbibliothek Aufrufe sehen wie Prozeduraufrufe aus Aufrufer blockiert, neuer Eintrag für Systemfunktion (mit Rückkehradresse) auf dem Laufzeitkeller angelegt, dieser Eintrag bei Rückkehr wieder aufgegeben, Ausführung Benutzerprogramm an der Rückkehradresse fortgesetzt. Unterschiede: Wechsel zwischen Benutzer- und System-Modus Aufruf implementiert durch trap-Befehl statt durch üblichen Unterprogramm-Aufruf-Befehl trap-Befehl schaltet um in System-Modus, übergibt die Nummer der Systemfunktion RW-Systemarchitektur Kap. 7

Schritte für die Ausführung eines Systemdienstes 11 Schritte für die Ausführung von read (fd, buffer, nbytes) RW-Systemarchitektur Kap. 7

Systemdienste Prozesse besitzen 3 Segmente: Programmtext, Daten, Keller RW-Systemarchitektur Kap. 7

Klassen von Systemfunktionen (POSIX) Prozessverwaltung: pid = fork() : lege Kopie des aktuellen Prozesses an, fährt unabhängig fort; gibt dem Vater-Prozess den Prozess-Identifier (pid) des neuen Prozesses und diesem 0 zurück waitpid((pid, … , …) : Vater-Prozess wartet auf Terminierung der Kind-Prozesse s = execve(name, argv, environp) : führe Kommando mir Name name aus Dateiverwaltung: fd = openfile(file, modus, …) : öffne Datei für Lesen und/oder Schreiben s = close (fd) : schließe eine geöffnete Datei n = read(fd, buffer, nbytes) : lese Daten aus Datei in Puffer n = write(fd, buffer, nbytes) : schreibe Daten aus Puffer in Datei … RW-Systemarchitektur Kap. 7

Beispiel – Kommando-Interpreter (Shell) Shell wartet auf Eingabe von Benutzer-Kommandos kreiert einen neuen Prozess für die Ausführung des Kommandos #define TRUE = 1 while (TRUE) { /* Endlosschleife */ type_prompt(); /* gebe Prompt auf Bildschirm aus */ read_command(comm, params) /* lese Eingabe vom Terminal */ if (fork()!=0){ /* kreiere Kind-Prozess */ /* Vater-Prozess */ waitpid(…) /* warte auf Terminierung Kind-Prozess */ } else { /* Kind-Prozess */ execve(comm, params, 0); /* führe Kommando aus */ } RW-Systemarchitektur Kap. 7

(Einige) Betriebssystem-Strukturen Monolithische Struktur – das ganze Betriebssystem ist ein ausführbares Maschinenprogramm Geschichtetes System Mikrokerne Client-Server Virtuelle Maschinen RW-Systemarchitektur Kap. 7

Geschichtetes System (THE System, Dijkstra 1968) Stapelverarbeitungs-Betriebssystem 5 Operateur ab hier: Virtualisierung des Prozessors ab hier: Lage-unabh. Speicheradressierung ab hier: Virtualisierung der Operateur-Konsole ab hier: Abstraktion der Ein-/Ausgabegeräte 4 Benutzerprogramme 3 Ein-/Ausgabe-Verwaltung 2 Kommunikation Operateur- Prozess 1 Speicher- und Trommel-Verwaltung 0 Prozessor-Verwaltung und Multiprogramming Hardware RW-Systemarchitektur Kap. 7

Mikrokerne Prinzip: Teile Betriebssystem in eine Menge von Modulen auf, von denen nur einer, der Mikrokern, im System-Modus laufen muss. Halte Mikrokern so klein wie möglich. Grund: Fehler im Kern sind gefährlicher als Fehler in Benutzerprogrammen. Sie können das System zum Absturz bringen. Fehler in Benutzerprogramm i.A. nicht. Größerer Kern  mehr Fehler. RW-Systemarchitektur Kap. 7

Virtuelle Maschinen Virtual Machine Monitor organisiert den Mehrprogrammbetrieb mit mehreren identischen Kopien der Hardware, aber ohne Erweiterungen wie Dateien etc. Auf jeder Kopie kann ein (evtl. anderes) Betriebssystem laufen. Problem: Das Abfangen von privilegierten Befehlen – Abfangen in CMS-virtueller Maschine (trap in CMS), CMS führt Ein-/Ausgabe-Operationen aus (trap in VM/370), Ausführen auf der realen Hardware. RW-Systemarchitektur Kap. 7

Client-Server Client-Server in verteiltem BS Gleicher Aufruf – verschiedene Implementierung RW-Systemarchitektur Kap. 7