5. Vorlesung Betriebssysteme
|
|
- Sylvia Kurzmann
- vor 7 Jahren
- Abrufe
Transkript
1 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/50 5. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik
2 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 2/50 Heute Zeichen-/Blockorientierte Geräte Daten von Ein- und Ausgabegeräten lesen Adressraum Speicheradressierung und Speicherverwaltung Real Mode und Protected Mode Speicherpartitionierung Statische Partitionierung Dynamische Partitionierung Buddy-Verfahren Relokation Virtueller Speicher Memory Management Unit Seitenorientierter Speicher (Paging) Segmentorientierter Speicher (Segmentierung)
3 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 3/50 Zeichenorientierte und Blockorientierte Geräte Geräte an Computersystemen werden bezüglich der kleinsten Übertragungseinheit unterschieden in: Zeichenorientierte Geräte Bei Ankunft/Anforderung jedes einzelnes Zeichens wird immer mit dem Prozessor kommuniziert Beispiele: Maus, Tastatur, Drucker, Terminals und Magnetbänder Blockorientierte Geräte Datenübertragung findet erst statt, wenn ein kompletter Block (z.b. 1-4 kb) vorliegt Beispiele: Festplatten, SSDs, CD-/DVD-Laufwerke und Disketten-Laufwerke Die meisten blockorientierten Geräte unterstützen Direct Memory Access (DMA), um Daten ohne Prozessorbeteiligung zu übertragen
4 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 4/50 Es gibt drei Möglichkeiten, Daten einzulesen Soll z.b. ein Datensatz von einer Festplatte gelesen werden, sind folgende Schritte nötig: 1 Die CPU bekommt von einem Prozess die Anforderung, einen Datensatz von einer Festplatte zu lesen 2 Die CPU schickt dem Controller mit Hilfe des installierten Treibers einen entsprechenden I/O-Befehl 3 Der Controller lokalisiert den Datensatz auf der Festplatte 4 Der Prozess erhält die angeforderten Daten Es gibt drei Möglichkeiten, wie ein Prozess Daten einliest: Busy Waiting (geschäftiges bzw. aktives Warten) Interrupt-gesteuert Direct Memory Access (DMA)
5 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 5/50 Busy Waiting (geschäftiges bzw. aktives Warten) Der Treiber sendet die Anfrage an das Gerät und wartet in einer Endlosschleife, bis der Controller anzeigt, dass die Daten bereit stehen Stehen die Daten bereit, werden sie in den Speicher geschrieben und der Prozess kann weiterarbeiten Beispiel: Zugriffsprotokoll Programmed Input/Output (PIO) Die CPU greift mit Lese- und Schreibbefehlen auf die Speicherbereiche der Geräte zu und kopiert so Daten zwischen den Geräten und den Prozessorregistern Vorteil: Leicht zu implementieren (keine zusätzliche Hardware nötig) Nachteile: Belastet den Prozessor Behindert die gleichzeitige Abarbeitung mehrerer Prozesse, da regelmäßig überprüft werden muss, ob die Daten bereit stehen
6 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 6/50 Interrupt-gesteuert Interrupt-Controller und Leitungen für das Senden der Interrupts Der Treiber initialisiert die Aufgabe und wartet auf einen Interrupt (Unterbrechung) durch den Controller = Der Treiber schläft Die CPU ist während des Wartens auf den Interrupt nicht blockiert und das Betriebssystem kann die anderen Prozesse weiter abarbeiten Kommt es zum Interrupt, wird der Treiber dadurch geweckt und die CPU in ihrer momentanen Arbeit unterbrochen Danach holt die CPU die Daten vom Controller ab und legt sie in den Speicher Anschließend kann die CPU ihre unterbrochene Arbeit fortsetzen Vorteile: Der Prozessor wird nicht blockiert Gleichzeitige Abarbeitung mehrerer Prozesse wird nicht behindert Nachteile: Zusätzliche Hardware ist nötig
7 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 7/50 Direct Memory Access (1/2) Zusätzlicher DMA-Baustein Kann Daten direkt zwischen Arbeitsspeicher und Controller übertragen Der Prozessor ist davon komplett unabhängig und wird nicht belastet Wird mit den nötigen Informationen initialisiert Die Informationen sind z.b: Speicherstelle, Anzahl der Bytes, Controller Erzeugt nach der Beendigung einen Interrupt DMA wird nicht nur für den Zugriff auf Datenträger verwendet, sondern auch zum beschleunigten und CPU entlastenden Zugriff auf Peripheriegeräte wie zum Beispiel: Soundkarten, ISDN-Karten, Netzwerkkarten, TV-/DVB-Karten Beispiel: Zugriffsprotokoll Ultra-DMA (UDMA) Nachfolgeprotokoll des PIO-Modus Regelt, wie Daten zwischen dem Controller einer Festplatte und dem Arbeitsspeicher übertragen werden Daten werden unter Verwendung eines DMA-Controllers direkt vom bzw. zum Arbeitsspeicher zu übertragen, ohne dabei die CPU zu verwenden
8 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 8/50 Direct Memory Access (2/2) Vorteile: Vollständige Entlastung des Prozessors Gleichzeitige Abarbeitung mehrer Prozesse wird nicht behindert Nachteile: Hoher Hardware-Aufwand Neben dem Interrupt-Controller wird noch ein DMA-Baustein benötigt
9 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 9/50 Speicheradressierung und Speicherverwaltung (1/2) Auf 16 Bit-Architekturen sind 2 16 Speicheradressen und damit bis zu Byte, also 64 Kilobyte adressierbar Auf 32 Bit-Architekturen sind 2 32 Speicheradressen und damit bis zu Byte, also 4 Gigabyte adressierbar Auf 64 Bit-Architekturen sind 2 64 Speicheradressen und damit bis zu Byte, also 16 Exabyte adressierbar!!! Frage!!! Wie wird der Speicher eines Computers angesprochen und verwaltet?
10 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicheradressierung und Speicherverwaltung (2/2) Bei Einzelprogrammbetrieb (Singletasking) wird der Hauptspeicher in zwei Bereiche unterteilt Ein Bereich für das Betriebssystem (Kernelspace) Ein anderer Bereich für den aktuell ausgeführten Prozess (Userspace) Beim Mehrprogrammbetrieb (Multitasking) muss der Benutzer-Bereich (Userspace) des Hauptspeichers weiter unterteilt werden, damit die gestarteten Prozesse im Speicher aufgenommen werden können Folgende Anforderungen sind zu beachten: Relokation Schutz Gemeinsame Nutzung
11 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Anforderungen and die Speicheradressierung/-verwaltung Relokation Mehrere Prozesse befinden sich im Hauptspeicher Werden Prozesse aus dem Hauptspeicher verdrängt, ist nicht bekannt, an welcher Stelle sie später wieder in den Hauptspeicher geladen werden Bindungen an den alten Ort im Speicher sind ungünstig Eine freie Ortswahl wäre vorteilhaft Probleme sind u.a. bei Sprüngen und Referenzen auf Daten zu erwarten Schutz Speicherbereiche müssen geschützt werden vor unbeabsichtigtem oder unzulässigem Zugriff durch anderen Prozesse Darum müssen alle Zugriffe (durch die CPU) überprüft werden Gemeinsame Nutzung Trotz Speicherschutz muss eine Kooperation der Prozesse mit gemeinsamem Speicher (Shared Memory) möglich sein
12 Idee: Direkter Zugriff auf die Speicherstellen Hauptspeicher Prozess A Prozess B Prozess C (Zellen: 0 8) (Zellen: 1 5 9) (Zellen: 2 4 7) Zelle 0 Zelle 1 Zelle 2 Zelle 3 Zelle 4 Zelle 5 Zelle 6 Zelle 7 Zelle 8 Zelle 9... Naheliegende Idee: Direkter Speicherzugriff durch die Prozesse = Real Mode Leider unmöglich in Multitasking-Systemen Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50
13 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode (Real Address Mode) Betriebsart x86-kompatibler Prozessoren Kein Zugriffsschutz Jeder Prozess kann auf den gesamten adressierbaren Speicher zugreifen Inakzeptabel für Multitasking-Betriebssysteme Maximal 1 MB Hauptspeicher adressierbar Das ist der maximalen Speicherausbau eines Intel 8086 Grund: Der Adressbus des 8088 verfügt nur über 20 Adressleitungen Er ist also nur 20 Bits breit und 2 20 = 1 MB Von den 1 MB maximal adressierbar Speicher stehen nur die ersten 640 kb (unterer Speicher) für das Betriebssystem (MS-DOS) und die Programme zur Verfügung Die restlichen 384 kb (oberer Speicher) enthalten das BIOS der Grafikkarte, das Speicherfenster zum Grafikkartenspeicher und das BIOS ROM des Mainboards Die Bezeichnung Real Mode wurde mit dem Intel eingeführt Im Real Mode greift der Prozessor wie ein 8086 auf den Hauptspeicher zu Jeder x86-kompatible Prozessor startet im Real Mode
14 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode Adressierung Der Speicher ist in Rahmen (Frames) unterteilt Die Rahmen beginnen in einem Abstand von 16 Bytes Der Speicher wird über Segment und Offset adressiert Zwei 16 Bits lange Werte, die durch einen Doppelpunkt getrennt sind Segment:Offset Segment und Offset werden werden jeweils in zwei verschiedenen 16-Bits großen Registern der CPU gespeichert Das Segmentregister enthält die Nummer des Rahmens Dabei handelt es sich um eine durch 16 teilbare Adresse Das Segmentregister zeigt also auf eine durch 16 teilbare Adresse im Speicher Das Offsetregister zeigt auf eine Adresse zwischen 0 und 2 16 = relativ zur Adresse im Segmentregister Physische Adresse (absolute Adresse) berechnen: 16 * Segment + Offset
15 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode Register Beim 8086 existieren vier Segmentregister CS (Code Segment) Segment mit dem Quelltext des Programms DS (Data Segment) Segment mit globalen Daten, auf die das aktuelle Programm zugreift SS (Stack Segment) Segment mit dem Stack für die lokalen Daten des Programms ES (Extra Segment) Segment für weitere Daten Ab dem Intel existieren die beiden weiteren Segmentregister FS und GS für zwei weitere Extra-Segmente Die Trennung der Segmentbereiche dient dem Speicherschutz Der Real Mode ist der Standardmodus für MS-DOS und dazu kompatible Betriebssysteme (u.a. PC-DOS, DR-DOS und FreeDOS) Neuere Betriebssysteme verwenden ihn nur noch während der Startphase und schalten dann in den Protected Mode um
16 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Protected Mode (Schutzmodus) Betriebsart x86-kompatibler Prozessoren Eingeführt mit dem Intel Erlaubt die Begrenzung von Speicherzugriffsrechten Erhöht die Menge des direkt adressierbaren Speichers 16-Bit Protected Mode beim = 16 MB Hauptspeicher 32-Bit Protected Mode beim = 4 GB Hauptspeicher Basiert auf dem Konzept des virtuellen Speichers Mit der Memory Management Unit (MMU) kann einem Prozess jederzeit ein vollständiger Adressraum wie im Real Mode bereitgestellt werden Virtuelle Speicheradressen übersetzt die CPU mit Hilfe der MMU in physische Speicheradressen Jeder Prozess läuft in seiner eigenen, von anderen Prozessen abgeschotteten Kopie des physischen Adressraums Es gibt vier Privilegienstufen für Programme zum Speicherschutz, um die Stabilität und Sicherheit zu erhöhen
17 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherpartitionierung Drei Konzepte zur Speicherpartitionierung: Statische Partitionierung Dynamische Partitionierung Buddy-Algorithmus Diese Konzepte werden von modernen Betriebssystemen nicht 1:1 angewendet und gelten als veraltet. Sie sind aber grundlegendes Wissen und das Fundament des virtuellen Speichers
18 Statische Partitionierung Der Hauptspeicher wird in Partitionen gleicher oder unterschiedlicher Größe unterteilt Jeder Prozess, dessen Größe einer Partition ist, kann eine freie Partition erhalten Benötigt ein Prozess mehr Speicher, als eine Partition groß ist, muss es zum Overlay kommen Dabei werden einzelne Daten eines Prozesses überschrieben (!) Entwickler müssen Anwendungen so schreiben, dass immer nur ein Teil der Daten im Speicher nötig ist und Daten überschrieben werden können Dieses Vorgehen ist ineffizient und fehleranfällig Weitere Nachteile statischer Partitionierung: Es kommt zwangsläufig zu interner Fragmentierung Das Problem wird durch Partitionen unterschiedlicher Größe abgemildert, aber nicht gelöst Anzahl der Partitionen limitiert die Anzahl möglicher Prozesse Das Mainframe-Betriebssystem IBM OS/MFT in den 60er Jahren nutzte statische Partitionierung Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50
19 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zur statischen Partitionierung
20 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren (Statische Partitionierung) Werden Partitionen gleicher Größe verwendet, ist es egal, welche freie Partition ein Prozess zugewiesen wird Sind alle Partitionen belegt, muss ein Prozess aus dem Hauptspeicher verdrängt werden Die Entscheidung welcher Prozess verdrängt wird, hängt vom verwendeten Scheduling-Verfahren ab Werden Partitionen unterschiedlicher Größe verwendet, gibt es zwei Möglichkeiten um Prozessen Partitionen im Speicher zuzuweisen Prozesse sollen eine möglichst passgenaue Partition erhalten Ziel: Wenig interne Fragmentierung Eine eigene Prozess-Warteschlange für jede Partition ist nötig In jeder Warteschlange werden die ausgelagerten Prozesse abgebildet Bei diesem Verfahren kann es vorkommen, dass bestimmte Partitionen nie genutzt werden Eine einzelne Warteschlange für alle Partitionen So kann die Zuweisung der Partitionen an die Prozesse besser kontrolliert werden
21 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren
22 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Dynamische Partitionierung Der verfügbare Hauptspeicher wird in zusammenhängende Partitionen unterschiedlicher Größe unterteilt Jeder Prozess erhält eine zusammenhängende Partition mit exakt der notwendigen Größe Durch das unvermeidliche Einlagern und Verdrängen von Prozessen kommt es zu externer Fragmentierung Diese Fragmentierung kann mit Kompaktierung (Defragmentierung) behoben werden Voraussetzung: Verschiebbarkeit von Speicherblöcken Verweise in den Applikationen dürfen durch ein Verschieben von Datenblöcken nicht ungültig werden Das Mainframe-Betriebssystem IBM OS/MVT nutzte in den 60er Jahren dynamische Partitionierung
23 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zur dynamischen Partitionierung
24 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren (Dynamische Partitionierung) First Fit Sucht vom Speicheranfang nach einem passenden freien Block Einfachstes und schnellstes Verfahren Next Fit Sucht ab der Stelle der letzten Blockzuweisung nach einem passenden freien Block Etwas schlechter als First Fit Zerstückelt schnell den großen Bereich freien Speichers am Ende des Adressraums Best Fit Sucht einen Block mit optimaler Größe Produziert viele Minifragmente und arbeitet am langsamsten Worst Fit Sucht den größten freien Block Random Liefert manchmal sehr gute Ergebnisse und ist schnell
25 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zum Speicherbelegungsverfahren
26 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Buddy-Verfahren von Donald E. Knuth Versucht die Vorteile fester und dynamischer Partitionierung zu nutzen Speicher wird in Bereiche der Länge 2 K mit L K U aufgeteilt 2 L ist der kleinste Block der zugewiesen wird 2 U ist der größte Block der zugewiesen wird (der komplette Speicher) Zu Beginn gibt es nur einen Block, der den gesamten Speicher abdeckt Fordert ein Prozess eine Speicher an, wird zur nächsthöheren Zweierpotenz aufgerundet und ein entsprechender, freier Block gesucht Existiert noch kein Block dieser Größe, wird nach einem Block doppelter Größe gesucht und dieser in zwei Hälften (sogenannte Buddies) unterteilt Einer der beiden Blöcke wird dann dem Prozess zugewiesen Existiert auch kein Block doppelter Größe, wird ein Block vierfacher Größe gesucht, usw... Wird Speicher freigegeben, wird geprüft, ob zwei Hälften gleicher Größe sich wieder zu einem größeren Block zusammenfassen lassen Die Implementierungsvarianten von Knuth basieren darauf, dass das Betriebssystem für jede möglich Segmentgröße eine Frei-Liste verwaltet
27 Beispiel zum Buddy-Verfahren Nachteil: Interner und externer Verschnitt Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50
28 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation Bei statischer Partitionierung mit unterschiedlich großen Partitionen und eigener Prozess-Warteschlange für jede vorhandene Partition kann man davon ausgehen, dass ein Prozess immer der gleichen Partition zugewiesen wird Bei statischer Partitionierung mit gleich großen Partitionen oder statischer Partitionierung mit unterschiedlich großen Partitionen und einer einzelnen Prozess-Warteschlange für alle vorhandenen Partitionen kann ein Prozess im Laufe seines Bestehens unterschiedliche Partitionen belegen Das gilt auch für dynamische Partitionierung Darum dürfen sich in Prozessen keine festen Referenzen auf Speicherstellen befinden Man unterscheidet folgende Arten von Speicheradressen: Logische Adressen bzw. virtuelle Adressen Relative Adressen Physische Adressen bzw. absolute Adressen
29 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Adressen Logische Adresse Speicherpunkt im Adressraum eines Prozesses Bevor ein Speicherzugriff erfolgen kann, muss eine logische (virtuelle) Adresse in eine relative Adresse umgewandelt werden Relative Adresse Sonderfall einer logischen Adresse Logische Adresse, bezogen auf einen festen, bekannten Anfangspunkt Bei dem Anfangspunkt handelt es sich um den Programmanfang Physische Adresse Eine absolute Adresse, eine konkrete Stelle im Hauptspeicher
30 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Adressen (2) Wechselt ein Prozess in den Zustand aktiv, wird das Basisregister in der CPU mit der Anfangsadresse des Prozesses im Hauptspeicher belegt Das Ende des Prozesses kennzeichnet das Grenzregister Bei der Prozessausführung treten u.a. an folgenden Positionen relative Adressen auf: Im Befehlsregister Als Befehlsadressen in Sprung- und Aufrufbefehlen Als Datenadressen bei Laden- und Speicherbefehlen Jede relative Adresse erhöht die CPU um den Wert des Basisregisters Dadurch entsteht eine physische Adresse Die physische Adresse wird mit dem Grenzregister verglichen Liegt die Adresse innerhalb der Grenzen, wird der Befehl ausgeführt Andernfalls wird ein Interrupt an das Betriebssystem gesendet, dass dann auf den Fehler reagieren muss
31 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Hardwareunterstützung
32 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Virtueller Speicher (1/3) Moderne Betriebssysteme arbeiten im Protected Mode (Schutzmodus) Im Protected Mode unterstützt der Prozessor zwei Verfahren zur Speicheradressierung und Speicherverwaltung Segmentierung existiert ab dem Paging existiert ab dem Die Verfahren sind Implementierungsvarianten des virtuellen Speichers Prozesse verwenden keine realen Hauptspeicheradressen Das würde bei Multitasking-Systemen zu Problemen führen Stattdessen besitzt jeder Prozess einen Adressraum Der Adressraum ist eine Abstraktion des physischen Speichers Der Adressraum ist der von der verwendeten Speichertechnologie und den gegebenen Ausbaumöglichkeiten unabhängige virtuelle Speicher Jeder Adressraum besteht aus Speicherstellen, die von der Adresse 0 (logische Adressen) an, aufwärts durchnummeriert sind
33 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Virtueller Speicher (2/3) Adressräume können nach Bedarf erzeugt oder gelöscht werden und sind voneinander abgeschottet und damit geschützt Kein Prozess kann nicht ohne vorherige Vereinbarung auf den Adressraum eines anderen Prozesses zugreifen Mapping = Abbilden des virtuellen Speichers auf den realen Speicher Dank virtuellem Speicher wird der Hauptspeicher besser ausgenutzt Die Prozesse müssen nicht am Stück im Hauptspeicher liegen Darum ist die Fragmentierung des Hauptspeichers kein Problem
34 Virtueller Speicher (3/3) Durch virtuellen Speicher kann mehr Speicher angesprochen und verwendet werden, als physisch im System vorhanden ist Auslagern (Swapping) geschieht für die Benutzer und Prozesse transparent Prozess A Virtueller Speicher Hauptspeicher Quellcode Virtuelle Adressen A2 A1 A3 A3 A1 B1 Prozess B Quellcode Virtueller Speicher B1 B2 Reale Adressen C1 B2 Virtuelle Adressen B3 Laden/ Verdrängen Prozess C Virtueller Speicher C1 Quellcode B3 C3 C2 A2 C2 Virtuelle C3 Adressen Festplatte Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50
35 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Paging: Seitenorientierter Speicher Teile eines Prozesses (= Seiten) werden freien Speicherbereichen im Hauptspeicher (= Rahmen bzw. Kacheln) zugewiesen Alle Seiten haben die gleiche Länge Länge einer Seite ist üblicherweise zwischen 256 Byte und 8 kb Externe Fragmentierung gibt es beim Paging nicht Interne Fragmentierung kommt in der letzten Seite eines Prozesses vor Das Betriebssystemen verwaltet für jeden Prozess eine Seitentabelle In dieser steht, wo sich die einzelnen Seiten des Prozesses befinden Prozesse arbeiten nur mit virtuellen Speicheradressen Virtuelle Speicheradressen bestehen aus zwei Teilen Der werthöhere Teil repräsentiert die Seitennummer Der wertniedrigere Teil repräsentiert den Offset Der Offset repräsentiert das Speicherwort innerhalb einer Seite Länge der virtuellen Adressen ist architekturabhängig und darum 16, 32 oder 64 Bits
36 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Zuweisung von Prozessseiten zu freiem Speicher (Rahmen)
37 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung durch die Memory Management Unit Paging übersetzt logische (virtuelle) Speicheradressen von der CPU mit der MMU und der Seitentabelle in physische Adressen Das Betriebssystem prüft dann, ob sich die physische Adresse im Hauptspeicher, oder auf der Festplatte befindet Befinden sich die Daten auf der Festplatte, muss das Betriebssystem die Daten in den Hauptspeicher einlesen Ist der Hauptspeicher voll, muss das Betriebssystem andere Einträge aus dem Hauptspeicher verdrängen
38 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Implementierung der Seitentabelle Die Länge der Seiten hat Auswirkungen: Kurze Seiten: Geringer interner Verschnitt, aber lange Seitentabelle Lange Seiten: Kurze Seitentabelle, aber hoher interner Verschnitt Ist die Seitentabelle des aktuell laufenden Prozesses kurz, wird sie in Registern in der CPU abgelegt Das führt zu einer hohen Geschwindigkeit, da zur Berechnung der physischen Speicheradressen nur Registermanipulationen notwendig sind Bei kleinen Seiten kann die Seitentabelle sehr groß werden In diesem Fall wird die Seitentabelle im Hauptspeicher abgelegt Zwei Register ermöglichen der MMU den Zugriff auf die Seitenabelle Page-Table Base Register (PTBR): Seitentabelle des laufenden Prozesses Page-Table Length Register (PTLR): Länge der Seitentabelle des laufenden Prozesses
39 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Seitentabellenstruktur Die Seitentabellenstruktur beim Paging ist so, dass jeder Seitentabelleneintrag folgende Komponenten enthält: Present-Bit: Legt fest, ob die Seite im Hauptspeicher ist Modify-Bit: Legt fest, ob die Seite verändert wurde Andere Steuerbits: Hier werden Schutzrechte und Rechte zur gemeinsamen Nutzung festgelegt Rahmennummer: Wird mit dem Offset der virtuellen (logischen) Adresse verknüpft
40 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung beim Paging (einstufig)
41 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung beim Paging (zweistufig)
42 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Einige Berechnungen zum seitenorientierten Speicher Seitenlänge beim Paging: Kurze Seiten: Geringer interner Verschnitt, aber lange Seitentabelle Lange Seiten: Kurze Seitentabelle, aber hoher interner Verschnitt Sei s die durchschnittliche Prozessgröße in Bytes p die Seitenlänge in Bytes e ein Eintrag in der Seitentabelle in Bytes Dann gilt: Ein Prozess belegt s es p Seiten und damit p Bytes in der Seitentabelle es p wird kleiner mit wachsender Seitenlänge Durch interne Fragmentierung gehen p 2 Bytes verloren p 2 wird kleiner mit schrumpfender Seitenlänge Somit ist der absolute Gesamtverlust (in Bytes): v abs = es p + p 2 Somit ist der relative Gesamtverlust (in Prozent): v rel = 1 s ( es p + p 2 ) Durch Minimierung ergibt sich als optimale Seitenlänge: p opt = 2se
43 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Ein Beispiel Durchschnittliche Prozessgröße = s = 1 MB Größe eines Eintrags in der Seitentabelle = e = 8 Byte Optimale Seitenlänge = p opt = 2se = 4 kb Durchschnittliche Optimale Relativer Prozessgröße Seitenlänge Gesamtverlust s = 10 kb p opt = 400 Byte v rel = 4 % s = 1 MB p opt = 4 kb v rel = 0, 4 % s = 100 MB p opt = 40 kb v rel = 0, 04 % s = MB p opt = 400 kb v rel = 0, 004 % s = MB p opt = 4 MB v rel = 0, 0004 % Wählt man die optimale Seitenlänge, nimmt der Speicherverlust mit zunehmender Prozessgröße ab
44 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Segmentierung Weitere Methode um virtuellen Speicher zu verwalten Der virtuelle Speicher eines Prozesses besteht aus Einheiten (Segmenten) unterschiedlicher Länge Maximale Segmentlänge bestimmt der Offset der virtuellen Adressen Im Beispiel ist der Offset 12 Bits lang = 2 12 = Bits Das Betriebssystemen verwaltet für jeden Prozess eine Segmenttabelle Jeder Eintrag in der Segmenttabelle enthält die Länge des Segments im Hauptspeicher Virtuelle (logische) Adressen werden mit Hilfe der Segmenttabelle, die jeder Prozess besitzt, in physische (absolute) Adressen umgerechnet So berechnet man die Startadresse des Segments im Hauptspeicher Interne Fragmentierung gibt es bei Segmentierung nicht Es kommt zu externer Fragmentierung wie bei dynamischer Partitionierung Diese ist allerdings nicht so ausgeprägt
45 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung bei Segmentierung
46 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Segmenttabellenstruktur Jeder Eintrag der Segmenttabelle enthält folgende Komponenten: Present-Bit: Legt fest, ob das Segment im Hauptspeicher ist Modify-Bit: Legt fest, ob das Segment verändert wurde Andere Steuerbits: Hier werden Schutzrechte und Rechte zur gemeinsamen Nutzung festgelegt Länge: Länge des Segments Segmentbasis: Wird mit dem Offset der virtuellen (logischen) Adresse verknüpft Beim Zugriff auf ein Segment, das nicht im Hauptspeicher liegt, löst der Prozessor eine Segment not present-ausnahme aus Die Ausnahme wird vom Kern des Betriebssystems abgefangen und das angeforderte Segment wieder in den Hauptspeicher geladen
47 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Wiederholung: Real Mode und Protected Mode Real Mode Betriebsart x86-kompatibler Prozessoren Prozessor greift wie ein Intel 8086 auf den Hauptspeicher zu Kein Zugriffsschutz Jeder Prozess kann auf den gesamten Hauptspeicher zugreifen Protected Mode (Schutzmodus) Betriebsart x86-kompatibler Prozessoren Basiert auf dem Konzept des virtuellen Speichers 16-Bit Protected Mode (Wurde mit dem eingeführt) Ausschließlich Segmentierung Maximal 16 MB physischer Hauptspeicher können angesprochen werden Organisation des Speichers in Segmente zu je maximal 2 16 Bytes = 64 kb 32-Bit Protected Mode (Wurde mit dem eingeführt) Organisation des Hauptspeichers via Segmentierung in Segmente zu je maximal 4 GB Paging kann der Segmentierung nachgeschaltet werden Maximal 4 GB physischer Hauptspeicher können angesprochen werden
48 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Aktueller Stand beim virtuellen Speicher (1/2) Moderne Betriebssysteme (für x86) arbeiten im Protected Mode und verwenden ausschließlich Paging Segmentierung wird (bei x86) nicht mehr verwendet Diese Arbeitsweise heißt Flat Memory-Modell Daten-, Code- und Stacksegment decken den gesammten 4 GB großen Adressraum ab Damit ist der komplette Adressraum eines Prozesses über einfache 32 Bit lange Offsets adressierbar Der Speicherschutz, den die Segmentierungseinheit bietet, ist somit ausgehebelt Wegen dem nachgeschalteten Paging, das seitenbasierten Speicherschutz ermöglicht, ist das aber kein Problem Moderne Betriebssysteme arbeiten nach dem Flat Memory-Modell, da es die Softwareentwicklung vereinfacht Zudem kann die Software leichter auf andere Prozessorarchitekturen, die keine Segmentierungseinheit besitzen, portiert werden
49 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Aktueller Stand beim virtuellen Speicher (2/2) Einige Architekturen: IA32 (siehe Folie 41) Zweistufige Seitentabelle Länge virtueller Adressen: 32 Bits Je 10 Bits für die zwei Seitentabellen plus 12 Bits Offset IA32 mit Physical Address Extension (PAE) = Pentium Pro Dreistufige Seitentabelle Länge virtueller Adressen: 32 Bits 2 Bits für die erste Seitentabelle und je 9 Bits für die zwei weiteren Seitentabellen plus 12 Bits Offset AMD64 Vierstufige Seitentabelle Länge virtueller Adressen: 48 Bits Je 9 Bits für die vier Seitentabellen plus 12 Bits Offset
50 Kernelspace und Userspace Betriebssysteme unterteilen den virtuellen Speicher in Kernelspace und Userspace Kernelspace ist für den Kernel, Kernelerweiterungen und Treiber reserviert Userspace ist für die Anwendungen reserviert und wird um den Erweiterungsspeicher (Swap) vergrößert Der virtuelle Adressraum (virtuelle Speicher) von 32-Bit-Prozessoren ist auf 4 GB pro Prozess beschränkt Linux 1 GB sind standardmäßig für das System (Kernel) und 3 GB für den jeweiligen Prozess im Benutzermodus reserviert Das Verhältnis kann in 2 GB/2 GB oder 3 GB/1 GB (Kernelspace/Userspace) geändert werden Windows 2 GB sind standardmäßig für das System (Kernel) und 2 GB für den jeweiligen Prozess im Benutzermodus reserviert Das Verhältnis kann in 1 GB/3 GB (Kernelspace/Userspace) geändert werden Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50
6.Vorlesung Grundlagen der Informatik
Christian Baun 6.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/42 6.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de
MehrLösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
MehrLösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
Mehr(Cache-Schreibstrategien)
Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei
Mehr5. Foliensatz Betriebssysteme
Prof. Dr. Christian Baun 5. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/47 5. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
MehrLösung von Übungsblatt 5
Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrFreispeicherverwaltung Martin Wahl,
Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
Mehr5.Vorlesung Betriebssysteme Hochschule Mannheim
Christian Baun 5.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/41 5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:
MehrProseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging
Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten
MehrTechnische Realisierung (1)
Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken
MehrTeil 2: Speicherstrukturen
Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)
MehrProseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert
Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung
MehrBetriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14
BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS
Mehr2. Foliensatz Betriebssysteme und Rechnernetze
Prof. Dr. Christian Baun 2. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2018 1/52 2. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
MehrEin- und Ausgabegeräte
Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen
MehrSpeicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging
MehrLösung von Übungsblatt 3
Lösung von Übungsblatt 3 Aufgabe 1 (Rechnerarchitektur) 1. Welche drei Komponenten enthält der Hauptprozessor? Rechenwerk, Steuerwerk und Speicher. 2. Welche drei digitalen Busse enthalten Rechnersysteme
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
MehrAbschlussklausur. Betriebssysteme. 30. Januar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.
Abschlussklausur Betriebssysteme 30. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen, Ihren Vornamen
MehrSpeicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann
Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
Mehr7. Speicherverwaltung
7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische
MehrBetriebssysteme Studiengang Informatik / SAT
Betriebssysteme Studiengang Informatik / SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 16.1.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrSpeicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
MehrGrundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
MehrBetriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.
Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung
MehrDatenübertragung per Direct Memory Access (DMA)
Datenübertragung per Direct Memory Access (DMA) Durch einen direkten Speicherzugriff können die Daten ohne Umweg über den Prozessor in den Speicher geschrieben werden. So lässt sich die Ausführungsgeschwindigkeit
MehrFachbericht Thema: Virtuelle Speicherverwaltung
Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER
MehrBetriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen
Betriebssysteme I 05a 64-/32-Bit-Architekturen Prof. Dr. Dirk Müller Begriff Eine n-bit-architektur ist eine Prozessorarchitektur mit einer Wortbreite von n Bit. meist Zweierpotenzen: 8-, 16-, 32-, 64-Bit-Architekturen
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
MehrEin- Ausgabeeinheiten
Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-
Mehr2.3 Prozessverwaltung
Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären
MehrKonzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie
MehrSystemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur
Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 8.3.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrLinker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
Mehr5 Kernaufgaben eines Betriebssystems (BS)
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
MehrBetriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404
Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme
MehrBetriebssysteme. Dipl.-Ing.(FH) Volker Schepper
Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen
MehrBasisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme
Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 27.1.216 1 Klausur Termin: 1. März 216, 13: Uhr Raum: Audimax, KG 2 4 ECTS Punkte 2 Klausuranmeldung Anmeldefrist: 31.1.216 (Ausnahme: Biologie-Module)
MehrHans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrBetriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme
Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung
Mehré Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus
4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts
MehrÜberschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012
Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten
MehrProf. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7
Prof. Dr. Sharam Gharaei Version 1.2.0, 07.04.2017 Inhaltsverzeichnis 1 Einleitung 1 1.1 Code-bezogene Aspekte 2 1.2 Speicherungsbezogene Aspekte 2 2 Grundlage der Realisierung 2 3 Die Realisierung 3 3.1
MehrIntel x86 Bootstrapping
Intel x86 Bootstrapping Meine CPU, mein Code! Andreas Galauner SigInt 2010 Democode Es gibt Democode: http://github.com/g33katwork/ SigInt10OSWorkshop git clone git://github.com/g33katwork/ SigInt10OSWorkshop.git
MehrDOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch
MehrLösungsvorschlag für Übung September 2009
Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009
Mehr(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrBetriebssysteme 1. Thomas Kolarz. Folie 1
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
MehrKlausur Betriebssysteme
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme 5.2.2016 Die Dauer der Klausur beträgt 90 Minuten. Es sind keine Unterlagen und Hilfsmittel erlaubt. Bitte bearbeiten Sie die Aufgaben soweit wie
MehrWunschvorstellung der Entwickler vom Speicher
Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar
MehrKapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)
Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in
Mehr1 Fehler in Bibliotheksfunktionen. 1 Überblick. 2 Ziele der Aufgabe. Besprechung der 1. Aufgabe
U3 3. Übung U3 3. Übung U3-1 Fehlerbehandlung U3-1 Fehlerbehandlung Besprechung der 1. Aufgabe Fehlerbehandlung Infos zur Aufgabe 3: malloc-implementierung U3.1 Fehler können aus unterschiedlichsten Gründen
MehrDefinitionen zum Verschnitt
Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener
MehrLösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 30. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
MehrSo funktionieren Computer
So funktionieren Computer Ein visueller Streifzug durch den Computer & alles, was dazu gehört Ron White Illustrationen: Timothy Edward Downs und Sarah Ishida Alcantara Übersetzung aus dem Amerikanischen:
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrAnbindung zum Betriebssystem (BS)
7.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle von der Software zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
Mehr5.5.5 Der Speicherverwalter
5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)
MehrAbschlussklausur. Betriebssysteme. 14. Februar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.
Abschlussklausur Betriebssysteme 14. Februar 2014 Name: Vorname: Matrikelnummer: Tragen Sie auf allen Blättern (einschlieÿlich des Deckblatts) Ihren Namen, Vornamen und Ihre Matrikelnummer ein. Schreiben
MehrKonzepte von Betriebssystemkomponenten
Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der
MehrInhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung
Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung
MehrMusterlösung der Abschlussklausur Betriebssysteme und Rechnernetze
Musterlösung der Abschlussklausur Betriebssysteme und Rechnernetze 2. August 2016 Name: Vorname: Matrikelnummer: Mit meiner Unterschrift bestätige ich, dass ich die Klausur selbständig bearbeite und das
Mehr