Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus.

Ähnliche Dokumente
RO-Tutorien 15 und 16

Tutorium Rechnerorganisation

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Echtzeitbetriebssysteme

Virtueller Speicher und Memory Management

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

Teil 2: Speicherstrukturen

RO-Tutorien 17 und 18

Speicherverwaltung (Swapping und Paging)

Wunschvorstellung der Entwickler vom Speicher

Lösung von Übungsblatt 2

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Kapitel VI. Speicherverwaltung. Speicherverwaltung

7. Speicherverwaltung

Zwei Möglichkeiten die TLB zu aktualisieren

Einführung in die technische Informatik

(Cache-Schreibstrategien)

Wie groß ist die Page Table?

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

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

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

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.

5 Kernaufgaben eines Betriebssystems (BS)

Rechnerorganisation. Überblick über den Teil 13

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

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


2 Rechnerarchitekturen

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Cache Blöcke und Offsets

Architektur von Parallelrechnern 50

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

1. Von-Neumann-Architektur (7/66 Punkte)

Anbindung zum Betriebssystem (BS)

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Übung zu Grundlagen der Betriebssysteme. 13. Übung

Inhaltsangabe. 2.1 DieCPU Der Speicher Die Busse Klassifikation der von-neumann-rechner... 37

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Die Mikroprogrammebene eines Rechners

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

Linux Paging, Caching und Swapping

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Rechnergrundlagen SS Vorlesung

Betriebssysteme Studiengang Informatik / SAT

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

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

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

Vorlesung Rechnerarchitektur. Einführung

2.3 Prozessverwaltung

Freispeicherverwaltung Martin Wahl,

Anbindung zum Betriebssystem (BS)

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

Speicherverwaltung und Cache Erläuterungen

Fachbericht Thema: Virtuelle Speicherverwaltung

4.3 Hintergrundspeicher

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

Memory Management. Peter Puschner Institut für Technische Informatik

Grundlagen Rechnerarchitektur und Betriebssysteme

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Systeme 1: Architektur

, 2014W Übungsgruppen: Mo., Mi.,

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Geräteentwurf mit Mikroprozessoren 1

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Technische Informatik 2 Speichersysteme, Teil 3

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

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Grundlagen der Informatik III Wintersemester 2010/2011

Aufgabe 4 : Virtueller Speicher

Technische Informatik 1 - HS 2017

Kapitel 9 Hauptspeicherverwaltung

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Lösungsvorschlag für Übung September 2009

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

4. Übung - Rechnerarchitektur/Betriebssysteme

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

Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung

Echtzeit-Multitasking

Vorlesung Betriebssysteme

Speicherorganisation

Lösung von Übungsblatt 5

Echtzeit-Multitasking

Betriebssysteme Vorstellung

5.5 Virtueller Speicher

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

Johann Wolfgang Goethe-Universität

Übung zu Einführung in die Informatik # 10

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

Hauptspeicherverwaltung - Memory Management

Teil VIII Von Neumann Rechner 1

Transkript:

Prozessoren Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Register Alle Prozessoren besitzen interne Register, um den Zugriff auf Daten zu beschleunigen. Befehlszähler (Program counter) Enthält die Speicheradresse des nächsten Befehls Kellerzeiger (Stack pointer) Zeigt auf das Ende des aktuellen Stacks PSW (Program Status Word) Enthält mehrere Bits für die Statusbestimmung der CPU Speicher Speicherhierarchie Die oberste Schicht beinhaltet die internen Register der CPU. Danach folgt der schnelle Cache. Darauf folgt der Hauptspeicher oder auch RAM (Random Access Memory). Als nächstes folgen Festplatten und die letzte Schicht bilden Magnetbänder, CDs, etc. MMU Die MMU (Memory Management Unit) übernimmt die Umwandlung virtuellen Speichers in physische Speicheradressen. zfbsys2.doc / eba Seite 1 von 8 17.05.2003

Multiprozessoren Von Neumann-Rechner Der von Neumann-Rechner arbeitet sequentiell, Befehl für Befehl wird abgeholt, interpretiert ausgeführt und das Resultat abgespeichert. Harvard-Architektur Bei der Harvard-Architektur sind Instruktionen und Daten in getrennten Speichern untergebracht. Der Prozessor besitzt getrennte Busse für Instruktions- und Datenzugriffe, dadurch kann ein überlappender Betrieb durchgeführt werden. Flynn sches Klassifikationsschema Wie viele Befehle / Datenwerte können gleichzeitig abgearbeitet werden? SISD Singe Instruction Single Data (1 Befehl / 1 Datenwert) SIMD Single Instruction Multiple Data (1 Befehl / mehrere Datenwerte) MISD Multiple Instruction Single Data (Mehrere Befehle / 1 Datenwert) MIMD Multiple Instruction Multiple Data (Mehrere Bef. / mehrere Daten) Ausprägungsformen Für ein SIMD-System sind mehrere PUs (Processing Units) nötig. Für ein MIMD-System braucht man mehrere PUs und CUs (Controll Units) Amdahl s Law Mittlere Leistung eines MIMD-Systems bei einem seriellen Anteil s und n CPU: L MIMD = LSISD 1 s s + n Steigerungsfaktor (speed-up) im Vergleich zu einem SISD-System: L L MIMD SISD = 1 1 s s + n Zu beachten: 1-s = p, wenn also s = 0 dann lautet die Formel: n / p = n/1 = n Wenn p = 0 dann lautet die Formel 1 / 1 = 1 MIPS / FLOPS MIPS = Mega Instructions per Second FLOPS = Floting Point Operation per Second zfbsys2.doc / eba Seite 2 von 8 17.05.2003

Shared-Memory-Multiprozessoren Dies sind Systeme, in denen zwischen zwei und 1000 CPUs über einen gemeinsamen Speicher kommunizieren. Vorteil: Extrem schneller Speicherzugriff Nachteil: Benötigt intensiven Nachrichtenaustausch zwischen CPUs UMA (Uniform Memory Access) Zugriff auf gesamten Speicher einheitlich schnell NUMA (Non Uniform Memory Access) Zugriff abhängig von Adressbereich unterschiedlich schnell Betriebssystemtypen Jede CPU hat eigenes Betriebsystem. Speicher wird in Partitionen für jede CPU aufgeteilt. Wird heute nicht mehr verwendet. Master-Slave-Multiprozessoren. Betriebssystem läuft nur auf einer CPU. Ist aufgrund des hohen Overheads nur mit wenigen CPUs brauchbar. Symmetrische Multiprozessor-Systeme (SMP) Kopie von Betriebssystem im Speicher. Synchronisationsproblem Sperren auf Tabellen birgt Deadlockgefahr Message-Passing-Multicomputer Jede CPU besitzt einen eigenen Speicher. Vorteil: Leichter zu realisieren Nachteil: Schwerer zu programmieren, 1000x langsamer als Shared-Memory Verteilte Systeme Verbundene Computeranlagen. Vorteil: Keine feste Bindung der Computer Nachteil: Zugriff 1000x langsamer als Message-Passing Middleware-Technologien stellen gemeinsame Basis für Applikationen dar. zfbsys2.doc / eba Seite 3 von 8 17.05.2003

Prozessor-Pipeline Pipeline Besitzt eine CPU getrennte Hol-, Dekodier- und Ausführungseinheiten spricht man von einer Pipeline. Durch Pipelines nimmt die Gesamtdauer der Befehlsausführungen ab. Die Dauer eines Befehls bleibt gleichlang. Superskalare CPU Eine Superskalare CPU besitzt mehrere Hol-, Dekodier- und / oder Ausführungseinheiten. Dadurch können z.b. zwei Instruktionen gleichzeitig geholt werden. Pipeline-Verzögerung Diese Verzögerung entsteht aufgrund dessen, dass nicht mit 100 prozentiger Wahrscheinlichkeit vorausgesagt werden kann, ob ein Sprung ausgeführt wird oder nicht. Dafür gibt es drei Lösungsansätze: Branch Prediction Sprungvorhersage Branch History Table CPU merkt sich Bedingungsauswertungen Delayed Branch Anweisung vor dem Sprung wird nach den Sprung verlegt CISC / RISC RISC Weniger als 50 Instruktionen mit vielen Registern. Die Maschinenbefehle haben eine feste Grösse, deshalb ist RISC das optimale Instruktionsformat für die Pipeline-Verarbeitung. CISC Mehr als 50 Instruktionen mit wenigen Registern. Variable Maschinenbefehlsgrösse. Semantische Lücke Ist das Verhältnis der Anzahl Hochsprachenanweisungen zu Anzahl Maschinenbefehlen. zfbsys2.doc / eba Seite 4 von 8 17.05.2003

Speichersystem Primärspeicher Direkt adressierbar. CPU kann Instruktionen und Operanden nur aus Primärspeicher holen. Flüchtiger Speicher. Sekundärspeicher Nur indirekt adressierbar. Persistente Programm- und Datenspeicherung CAM (Content Addressable Memory) Für den Zugriff auf CAM ist keine Adresse nötig. Es reicht ein Teil des Eintrags. Ausgegeben werden diejenigen Einträge, die übereinstimmen. Wird für die Adresstransformation verwendet. Lokalitätseffekt Dies ist der Effekt, dass ein Adressbereich während grösseren Zeiträumen unverändert bleibt. Dieser Adressbereich muss in der schnellsten Stufe des Speichersystems platz finden. Von Namen zu Speicheradressen Namensauflösung Namen von Variablen, Konstanten, etc. werden in Adressen umgewandelt. Adresstransformation Programmadressen werden auf unterschiedliche Speicheradressen abgebildet Namensraum Menge der Namen, die ein Programm zur Identifizierung der Elemente enthält Adressraum Menge aller Programmadresse,die ein Programm bei seiner Ausführung referenziert. Bei 32 Adressbits z.b. 2^32 Speicherraum Menge aller Speicheradressen, auf die bei der Programmausführung zugegriffen wird. Bei Computern ist dies die Menge der Speicheradressen, die mit Speicherbausteinen hinterlegt sind. Grundlagen Speicherverwaltung Relocation Problem Programmspeicheradressen müssen auf die physikalischen Adressen abgebildet werden. Problem des Speicherschutzes Ohne Zusatzmassnahmen kann jedes Programm jede Speicherstelle verändern! zfbsys2.doc / eba Seite 5 von 8 17.05.2003

Speicherverwaltung (statisch) Monoprogrammierung Nur ein Progr. läuft gleichzeitig. Speicher zwischen OS und Progr. aufgeteilt. Multiprogrammierung Mehrere Programme werden echt oder quasiparallel ausgeführt. Erhöht die CPU-Nutzung. Für A = Auslastung der CPU, p = Zeitanteil für E/A- Warten und n = Anzahl Prozesse im Speicher gibt es die Formel: A = 1 n p Swapping Auslagern von ganzen Prozessen bei knappem Speicher auf die Platte. Wird verwendet falls keine MMU vorhanden oder bei Multi-User OS. Bitmaps Speicher wird in Allokationseinheiten unterteilt. Jeder Einheit wird ein Bit in einer Bitmap zugewiesen, wobei eine 0 bedeutet dass die Einheit frei ist und eine 1 dass sie belegt ist. Größe der Einheit ist eine wichtige Entwurfsfrage. Schwierige Suche nach zusammenhängender 0-Folge. Verkettete Listen Jeder Prozess hat normalerweise zwei Nachbarn in einer verketten Liste. Dies sind entweder Prozesse oder Löcher. Wird ein Prozess vor einem Loch gelöscht so vergrössert sich einfach das Loch. Jedes Speichersegment enthält folgende Infos: Prozess / Loch, Startadresse, Länge und ein Zeiger auf das nächste Element. First Fit Prozess wird in das erste ausreichend grosse Loch eingefügt. NextFit Wie FirstFit, beginn jedoch beim zuletzt passenden Loch BestFit Das kleinste passende Loch wird gewählt Worst Fit Das grösste verfügbare Loch wird gewählt QuickFit Standorte von geläufigen Lochgrößen in einer separaten Liste. Speicherverdichtung Alle Löcher die bei Swapping entstehen werden durch Zusammenschieben der Prozesse zu einem grossen Loch. Wird nicht mehr verwendet, da damit eine Menge Rechenzeit verschwendet wird. zfbsys2.doc / eba Seite 6 von 8 17.05.2003

Speicherverwaltung (dynamisch) Virtueller Speicher / Paging Programmcode und Daten sind auf der Festplatte und werden erst bei Bedarf in Hauptspeicher geholt. Nebeneffekt: Adressraum und Speicherraum können unterschiedlich gross sein. Hardware für virtuellen Speicher: MMU (Memory Management Unit). Der virtuelle Adressraum ist in Einheiten unterteilt, die Pages genannt werden. Die entsprechenden Einheiten im physischen Speicher werden Page Frames genannt. Pages und Page Frames sind immer gleich gross. Page fault Tritt auf wenn eine Page nicht im physischen Speicher liegt. Das OS wählt einen wenig benutztes Page Frame aus und schreibt diesen auf die HD. Dann lädt es die Page die einen Seitenfehler ausgelöst hat von der HD und führt den Befehlt erneut aus. Ob eine Page im Speicher liegt oder nicht wird durch ein present/absent-bit in der Page Table benutzt. 0 bedeutet dass die Page nicht vorhanden ist, bei 1 ist sie vorhanden. Page Tables Page Tables liegen innerhalb der MMU und sorgen dafür, dass einer virtuellen Adresse eine physische zugeordnet wird. Mathematisch betrachtet, ist die Tabelle eine Funktion, mit der virtuellen Page- Nummer als Argument und der Page Frame-Nummer als Ergebnis. Das present/absent-bit befindet sich ebenfalls in dieser Tabelle. Probleme: Seitentabelle kann extrem gross werden. Umrechnung muss schnell sein. Offset Durch die Grösse des Offsets kann die Grösse einer Page berechnet werden. Ist der Offset z.b. 12 bit, so ist die Page bzw. der Page Frame 2^12 d.h. 4kB gross. Invertierte Seitentabellen Es wird in der Seitentabelle ein Eintrag für jeden physischen Seitenrahmen gespeichert. Hintergrundspeicher Wird benötigt um Daten in den Speicher zu laden, oder aus dem Speicher zu speichern. Dabei gibt es zwei Verfahren. Beim ersten Verfahren wird der ganze Speicher ausgelagert und ist somit schnell mit hohem Platzbedarf. Das zweite Verfahren lagert nur die benötigten Teile aus, ist aber auch langsam. Copy-on-write Wird verwendet, wenn mehrere Prozesse dieselben Daten verwenden. Dabei werden die Daten nur einmal in Speicher angelegt und erst dann vervielfältigt, wenn darauf geschrieben wird. zfbsys2.doc / eba Seite 7 von 8 17.05.2003

Adresstransformationsverfahren Seitentransformation Es werden Bereiche mit einer fixen Grösse transformiert. Der Hardware- Aufwand ist gering, da einfachere Adressumsetzung. Benötigt für die Umsetzung eine Page Table. Dort wird die virtuelle Adresse über einen Pagedeskriptor in eine physische Adresse umgewandelt. Mehrstufige Seitentransformation Bei den mehrstufigen Adresstransformation werden mehrere Tabellen verwendet, um eine virtuelle Adresse in eine physische umzuwandeln. Bei einer zweistufigen wird die virtuelle Adresse wird in drei Teile aufgeteilt: PT1 wird als Index für die erste Tabelle verwendet, daraus folgt der Index der zweiten Tabelle. PT2 definiert dann den Index der ausgewählten Tabelle der zweiten Stufe. Von dort wird dann die tatsächliche Rahmennummer gefunden. Und dann noch wiederum der Offset dazugerechnet. Page Table-Eintrag (Page Deskriptoren) Ein Eintrag in einer Page Table sieht mehr oder minder immer gleich aus. Die Seitenrahmennummer ist natürlich das zentrale Element. Weiter folgt ein Protection-Bit für die Zugriffsregelung, ein Modified-Bit um festzustellen, ob ein Eintrag verändert wurde oder nicht. Wenn der Eintrag nämlich unverändert ist, so muss die Page beim Auslagern nicht auf die HD geschrieben werden, weil dort schon die aktuellste Version der Seite liegt. Das Referenced-Bit wird bei jedem Lese- und Schreibzugriff gesetzt. Es hilft dem OS bei der Entscheidung, welche Seite bei einem Seitenfehler ausgelagert werden soll. Das letzte Bit wird verwendet um Caching an oder auszuschalten. TLB (Translation Lookaside Buffer) Dies ist ein kleines HW-Gerät, welches virtuelle Adresse direkt in physische Umwandelt, ohne dabei Page Tables zu verwenden. Der TLB wird jeweils mit den aktuell verwendeten Adressen gefüllt und nützt danach den Umstand dass in der Praxis viele Speicherzugriffe auf dieselben Adressen stattfinden. Ein TLB hält kaum mehr als 64 Adressen. Durch einen TLB wird die Zugriffsgeschwindigkeit markant verbessert. Segmenttransformation Es werden Bereiche mit einer variablen Grösse transformiert. Sehr grosser Hardware-Aufwand und Speicher wird fragmentiert. Es zwei Typen. Bei Typ A wird die virtuelle Adresse jeweils um die Segmentnummer eines Segmentregisters erweitert. Bei Typ B ist die Segmentnummer in der virtuellen Adresse enthalten. Die physische Adresse wird bei beiden Verfahren auf dieselbe Weise gebildet. Mit Hilfe einer Segmentnummer wird aus der Segment-Tabelle der Segmentbeginn gewonnen, welcher dann mit dem Offset addiert wird. Beides zusammen bildet die physische Adresse. zfbsys2.doc / eba Seite 8 von 8 17.05.2003