5 Kernaufgaben eines Betriebssystems (BS)

Ähnliche Dokumente
Übung zu Einführung in die Informatik # 10

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Virtueller Speicher und Memory Management

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Technische Realisierung (1)

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Tutorium Rechnerorganisation

Speicherverwaltung (Swapping und Paging)

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Teil 2: Speicherstrukturen

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme

RO-Tutorien 15 und 16

Echtzeitbetriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

5.5 Virtueller Speicher

Klausur Betriebssysteme

Klausur am

Klausur zum Kurs Betriebssysteme (1802) am 17. September 2011

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Lösung von Übungsblatt 2

2.3 Prozessverwaltung

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Legende: Running Ready Blocked P1 P2 P3. t[ms] 1 Prozesse und Scheduling (16 Punkte)

Freispeicherverwaltung Martin Wahl,

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Wunschvorstellung der Entwickler vom Speicher

Fachbericht Thema: Virtuelle Speicherverwaltung

Speicherverwaltung und Cache Erläuterungen

5.5.5 Der Speicherverwalter

Betriebssysteme Studiengang Informatik / SAT

Übung zu Grundlagen der Betriebssysteme. 11. Übung

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

(Cache-Schreibstrategien)

Rechnernutzung in der Physik. Betriebssysteme

Teil 3: Konzepte von Betriebssystemen

Betriebssysteme 1. Thomas Kolarz. Folie 1

Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware

Lösungsvorschlag zur 10. Übung

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Lösung von Übungsblatt 2

Lösung von Übungsblatt 5

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

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Lösung von Übungsblatt 8

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

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

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

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

5. Aufgabenblatt Speicherverwaltung

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

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

Betriebssysteme (BS)

Hardware und Gerätetreiber

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Übung Praktische Informatik II

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Grundlagen Rechnerarchitektur und Betriebssysteme

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?

Computer-Systeme Teil 15: Virtueller Speicher

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

9) Speicherverwaltung

Hauptspeicherverwaltung - Memory Management

Freispeicherverwaltung

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

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

Echtzeit-Multitasking

Echtzeit-Multitasking

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme

Technische Informatik 1

Transkript:

5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen des Rechners wie CPU, Speicher, Ein- /Ausgabeeinheiten. Prozessverwaltung: Arbeiten mehrere Benutzer an einem Rechner mit einer CPU, so führt das Betriebssystem die CPU-Zuteilung durch. Speicherverwaltung: Speicherzuteilung, Speicherfreigabe, Schutz des Speichers vor unerlaubtem Zugriff, Bereitstellung von Speicher außerhalb des Arbeitsspeichers virtueller Speicher. Dateiverwaltung: Strukturierung eines Dateisystems (Verzeichnisse, Dateinamen), Zugriffsrechte. (Ein-/Ausgabesteuerung: Zuteilung von Ein-/Ausgabegeräten zu Prozessen (Instanzen von Programmen).) (Netzwerkverwaltung: Eingehende Datenpakete sammeln und an zugehörigen Prozess weiterleiten, ausgehende Daten verpacken und versenden.) 5.1 Prozessverwaltung Prozess ist eine Instanz eines Programms, das vom Betriebssystem ausgeführt wird. Programm: Folge von Befehlen Prozess: Befehlsfolge im Arbeitsspeicher + zugehörige Daten im Arbeitsspeicher + Registerinhalte (insbesondere PZ) (aktuell ausgeführtes Programm) zu einem Programm kann es gleichzeitig mehrere Prozesse geben Im allgemeinen viele Prozesse gleichzeitig, aber nur eine CPU BS teilt den Prozessen die CPU zu (Scheduling). First-In-First-Served nicht sinnvoll, da ein ewig laufender Prozess alles blockiert Präemptives Scheduling, d.h. jeder Prozess erhält CPU für eine bestimmte Zeit, dann nächster usw. 46

Round-Robin-Scheduling: BS verwaltet Liste von Prozessen Nach einer festgelegten Zeit wird aktueller Prozess unterbrochen und am Ende der Liste einsortiert. Oberster Prozess der Liste erhält CPU für festgelegte Zeit neu hinzukommende Prozesse werden am Ende der Liste eingefügt Blockiert ein laufender Prozess, so wird er ausgelagert und nach Beendigung der Blockade ans Ende der Liste eingefügt (Blockade z.b. Warten auf Terminaleingabe, Warten auf Zuteilung des Druckers) Kritisch: Wahl der Länge der Zeitscheibe zu lang: Interaktive Prozesse warten lange zu kurz: CPU ist nur mit dem Wechsel der Prozesse beschäftigt Round-Robin-Scheduling betrachtet alle Prozesse als gleich wichtig Alternative: Prioritätenbasiertes Scheduling Priorität gibt Dringlichkeit der Abarbeitung wieder jeder Prozess bekommt Priorität zugewiesen Prozess mit höchster Priorität darf laufen Prozess mit niedriger Priorität kommt selten bzw. nie dran statische Prioritäten: 47

höchste Priorität BS-Prozesse nächst höchste Priorität Interaktive Prozesse niedrigste Priorität Hintergrundprozesse dynamische Prioritäten lief ein Prozess bereits längere Zeit Priorität wird erniedrigt war ein Prozess lange blockiert Priorität wird erhöht Oftmals Prioritätsbasiertes Round-Robin Round-Robin-Scheduling je Priotätsklasse 5.2 Speicherverwaltung Trotz riesiger Arbeitsspeicher heutiger Rechner (> 128 MByte) passen sehr große Prozesse oder die verschiedenen Prozesse im Mehrbenutzerbetrieb nicht komplett in den Arbeitsspeicher virtueller Speicher Zur Prozessausführung befindet sich nicht das gesamte Programm + Daten im Arbeitsspeicher, sondern nur die aktuell benötigten Teile Programm enthält nur logische Adressen auch wenn das Programmteil in den Arbeitsspeicher geladen wurde Adresstransformation bei Befehlsausführung 48

befindet sich logische Adresse nicht im Arbeitsspeicher, so wird ein entsprechender Abschnitt geladen Seitenadressierung (Paging) Seitenadressierung (Paging) Speicher wird in gleichgroße Bereiche (Kacheln, Pages) eingeteilt (typisch 256 Byte - 64 KByte) logische Adresse besteht aus Seitennummer Offset (Wortadresse) Seitentabelle enthält folgende Informationen (je Prozess) les- und/oder schreibbar befindet sich Seite im physikalischen Speicher wurde zuletzt lesend/schreibend zugegriffen (wird periodisch zurückgesetzt): Access-Bit Seite wurde irgendwann modifiziert: Modified-Bit Basisadresse 49

2 n ist Größe einer Kachel, falls n ist Anzahl der Bits des Offsets 2 m entspricht Anzahl der adressierbaren Kacheln, falls m ist Anzahl der Bits der Seitennummer 2 k entspricht mindestens der Anzahl der Kacheln im Arbeitsspeicher, falls k ist Anzahl der Bits der Basis-Adresse der Seitentabelle Ist das Bit Seite befindet sich im physik. Speicher nicht gesetzt fehlende Kachel muss eingelagert werden Strategien zum Auslagern von Seiten 50

Ziel: Möglichst diejenige Seite auslagern, auf welche mit hoher Wahrscheinlichkeit in näherer Zukunft nicht verwiesen wird. Gebräuchlichste Strategie, da einfach zu realisieren und effizient, d.h. im Mittel wenige Seiten aus- und einlagern: Not-recently-used: lagere Seite aus mit Access-Bit=0 Modified-Bit=0 (Seite wurde in letzter Zeit nicht gebraucht und liegt unverändert im Hintergrundspeicher kein Kopieren) lagere Seite aus mit Access-Bit=1 Modified-Bit=0 (Seite wurde zwar gelesen muss aber nicht in den Hintergrundspeicher kopiert werden) lagere Seite aus mit Access-Bit=0 Modified-Bit=1 (Seite wurde in letzter Zeit nicht gebraucht, d.h. wurde auf 0 zurückgesetzt, wurde früher jedoch modifiziert muss in den Hintergrundspeicher kopiert werden) 5.3 Dateiverwaltung Dateien: nichtflüchtige Lagerung von Daten und Programmen Anforderungen an die Dateiverwaltung schneller Zugriff Speicherplatzeffizienz bei dynamischer Größe Berücksichtigung von Zugriffsrechten Dateien bestehen aus Dateibeschreibung + Daten Dateibeschreibung enthält alle die Datei betreffenden Informationen Dateiname Dateigröße Erstellungsdatum 51

Eigentümer Zugriffsrechte Zeitpunkt des letzten Zugriffs Zeitpunkt der letzten Änderung... Hierarchische Organisation über Verzeichnisse (diretory) Baumstruktur Zugriff über Pfade Hintergrundspeicher meist in Blöcke fester Länge eingeteilt Zuordnung von Blöcken zu Dateien zusammenhängende Belegung Datei besteht aus hintereinanderliegenden Blöcken + effizienter Zugriff, da Adresse schnell berechenbar - Fragmentierung des Speichers - bei Vergrößerung der Datei evtl. komplette Datei kopieren Belegungstabelle 52

+ keine Fragmentierung + problemlose Dateivergrößerung + effizienter Zugriff, falls Belegungstabelle im Arbeitsspeicher - viel Arbeitsspeicher wird für Belegungstabelle benötigt Indizierte Belegung + analog Belegungstabelle + nur i-nodes der aktuell bearbeiteten Datei muss in Arbeitsspeicher Verwaltung freier Blöcke betrachte freie Blöcke als spezielle Datei, die über indizierte Belegung organisiert ist Blöcke schnell zu finden und frei zu geben Zugriffsrechte in Unix/Linux: 3 Nutzergruppierungen EigentümerIn (User/Owner: u): Der-/diejenige, der/die Datei erstellt 53

Gruppe (Group: g): Mehrere NutzerInnen können in einer Gruppe zusammengefasst werden Restliche NutzerInnen (Others: o): Der Eigentümer kann jeder Gruppierung folgende Zugriffsrechte erteilen: Datei lesen Datei schreiben/verändern/löschen Datei ausführen 5.4 Leistungsbewertung von Rechnern Sinnvolles Maß: Antwortzeit (Zeit vom Programmstart bis zur Beendigung) Antwortzeit setzt sich zusammen aus: Benutzer-CPU-Zeit: Zeit, die die CPU zum Ausführen des Programms benötigt System-CPU-Zeit: Zeit, die die CPU zum Ausführen von Betriebssystem- Routinen braucht Wartezeiten: durch Warten auf E/A-Geräte Meist betrachtet man nur Benutzer-CPU-Zeit: Benutzer-CPU-Zeit (P) = # Maschinenbefehle (MB) * durchschnittliche # Takten pro MB * Zykluszeit (= 1 T aktrate ) Taktrate beeinflusst Benutzer-CPU-Zeit, ist jedoch nicht umfassend aussagekräftig # Maschinenbefehle abhängig vom Compiler (übersetzer für höhere Programmiersprachen in Maschinenbefehle) durchschnittliche # Takten pro MB abhängig von CPU-Organisation (Hardware) Auch das Maß MIPS (millions instruction per second) ist nicht umfassend aussagekräftig, da MIPS-Rate = Taktrate 10 6 durchschnittliche # Takte pro MB 54