Betriebssysteme Teil 10: Virtueller Speicher

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme Teil 10: Virtueller Speicher"

Transkript

1 Betriebssysteme Teil 10: Virtueller Speicher

2 Übersicht Segmente Systemaufrufe Swapping Paging 2

3 Physikalischer Adressraum I - Wiederholung 3

4 Physikalischer Adressraum II - Wiederholung Es wird Memory-Mapped-I/O zugrunde gelegt: Alle Geräteregister besitzen eine Bus-Adresse und sind daher mit normalen Instruktionen erreichbar. Physikalischer Adressraum = Bereich der Adressen, der über den Adressbus ansprechbar ist In der Regel ist dieser Adressraum in folgende Bereiche von den niedrigen zu den hohen Adressen aufgeteilt: Kernel des Betriebssystems Bereich für Prozesse bzw. Programme Lücke, da der gesamte mögliche Adressraum in der Regel größer als die reale Größe des Arbeitsspeichers ist Bereich der Geräteregister Weiterhin gibt es noch den Bereich für den (E)EPROM/Booter. 4

5 Ziele des virtuellen Speichers Virtueller Speicher = Virtual Memory = Arbeitsspeicher mit simuliertem Eigenschaften: Zugriffsschutz/Separation der Programme untereinander zur Erhöhung der Sicherheit Unabhängigkeit vom Ort im RAM, an dem die Programme und ihre Daten liegen, zur Erhöhung der Flexibilität Der virtuelle Speicher wird mit Hilfe einer Memory Management Unit (MMU) realisiert. 5

6 Memory Management Unit (MMU) I 6

7 Memory Management Unit (MMU) II Die MMU ist ein Filter zwischen CPU und Bus, der folgende Aufgaben hat: Prüfung, ob eine Adresse in dem zulässigen Bereich zwischen 0 und dem definierten Maximum liegt Verschiebung der von der CPU generierten Adresse auf die richtige Stelle im Adressraum des Busses durch Addition einer Basisadresse Der Adressraum aller Programme beginnt daher mit der virtuellen Adresse 0 und endet mit der höchsten Adresse. Adressen dazwischen sind gültig, alle anderen ungültig. Solch ein Bereich von Adressen wird Segment genannt. Adressen der CPU, die von der MMU verarbeitet werden, werden virtuelle Adressen genannt. Die Adressen als Resultat der MMU-Verarbeitung werden physikalische oder reale Adressen genannt. Dies sind die Adressen des Busses. 7

8 Aufgaben der MMU Die wesentliche Aufgabe der MMU besteht darin, die einzelnen Programme gegenüber einem gegenseitigen Überschreiben zu schützen. Jedes Segment ist dadurch wie ein Gehege, aus dem das Programm nicht ausbrechen kann. Eine andere Aufgabe besteht in der Herstellung der Ortsunabhängigkeit der Segmente, daher können die Segmente an verschiedenen Stellen im physikalischen RAM kopiert bzw. bewegt werden ohne dass dies die CPU berücksichtigen muss. Die Realisierung von virtuellen Adressen mit einem unüberwindbaren Schutzmechanismus wie eine MMU ist eines der wichtigsten Schutzkonzepte in Computern. 8

9 MMU - Genauer I Die MMU baut für die CPU einen "Käfig", der jeden Zugriff nach außen unterbindet. Versucht ein Prozess nach außen zuzugreifen, wird die Instruktion aufgrund eines Signals von der MMU zur CPU abgebrochen. 9

10 MMU - Genauer II Die Virtualisierung gilt für jedes Programm einschließlich des Betriebssystems selbst. Daher können unabhängig voneinander mehrere jeweils mit der Adresse 0 beginnende und verschieden lange Prozesse gleichzeitig im Arbeitsspeicher liegen. Der Kernel wird von der MMU wie ein Prozess mit einem virtuellen Adressraum behandelt. Damit der Kernel auf alle Geräte und Prozesse zugreifen kann, hat sein Bereich die Basisadresse 0 und die maximal mögliche Länge, d.h. sein virtueller Adressraum überdeckt alles. 10

11 Erläuterungen I Segment = Bereich eines Arbeitsspeichers, der virtuell bei Adresse 0 beginnt und eine bestimmte Länge hat. Jedem Segment wird ein Deskriptor zugeordnet, der folgendes enthält: Physikalische Basisadresse Länge des Segments Zugriffsrechte (Lesen/Schreiben/Ausführen) Der Deskriptor wird in einem Registersatz in der MMU gehalten. Die MMU besitzt zwei Registersätze: Einen für den User-Mode Einen für den Kernel-Mode Um viele Segmente gleichzeitig verwalten zu können, werden alle Deskriptoren in einer Tabelle im RAM gehalten. 11

12 Erläuterungen II Aufgrund der Ortsunabhängigkeit können Segmente während einer Programmunterbrechung verschoben werden. Dies ist zur Beseitigung von Lücken zwischen den Segmenten erforderlich; die Segmente werden dann zusammen geschoben. Alle Segmente müssen zusammen gleichzeitig in den RAM passen. Segmente können sich im physikalischen Bereich auch partiell überdecken. Dies dient der Realisierung von gemeinsam benutzten RAM- Bereichen zwischen Prozessen (shared memory). Das Segment des Kernels überdeckt alles. 12

13 Feinere Aufteilung in Segmente I Es ist möglich, dass ein Prozess weiter auf mehrere (Teil-)Segmente aufgeteilt wird: Segment für Code Segment für Globale Daten Segment für Stack Damit kann ein Schreibschutz des Codes realisiert werden. Wenn das Code-Segment schreibgeschützt ist, kann es von mehreren Prozessen gemeinsam benutzt werden Die Code-Segmente mehrerer Prozesse werden dann auf denselben physikalischen Adressbereich abgebildet und haben damit dieselbe Basisadresse. Es können aber auch Datenbereiche gemeinsam benutzt werden. 13

14 Feinere Aufteilung in Segmente II Virtuelle Adresse 16 bit 16 bit Segment-ID Adresse innerhalb des Segments Beispiel für 32 bit-addressraum Indizierung 0 Auswahl des Deskriptors Länge Erlaubnis Basis-Adresse Adressumsetzer Bei diesem Beispiel werden die Segmente in Scheiben von 64 KB aufgeteilt, wobei die Scheiben virtuell nicht immer bei Adresse 0 liegen. Länge Erlaubnis Basis-Adresse Reale Adresse 0 Max Code Heap Stack Betriebssystem Code (P1) Heap Stack I/O 14

15 Feinere Aufteilung in Segmente III - Alternative 15

16 Shared Code Prozess P1 Länge Erlaubnis Länge Erlaubnis Prozess P2 Länge Erlaubnis Länge Erlaubnis Basis-Adresse Basis-Adresse Basis-Adresse Basis-Adresse 0 Max Code 0 Max Daten (P1) 0 Max Daten (P2) Virtuelle Addressräume zweier Prozesse Betriebssystem Code Daten (P1) Daten (P2) I/O Realer Adressraum Gemeinsame Benutzung durch P1 und P2 Read/Write Read/Write 16

17 Wenn ein Programm läuft... ist immer der korrespondierende Deskriptor in die MMU geladen und aktiv. Wenn nun die CPU einem anderen Prozess, d.h. einem anderen Segment gegeben werden soll, muss der Deskriptor für das neue Segment über die Geräteregister in die MMU geladen werden. Daher existiert im Kernel eine Tabelle mit allen Deskriptoren aller Segmente im RAM. Diese Tabelle liegt außerhalb des Zugriffs aller Programme, so dass nur der Kernel auf die Deskriptoren zugreifen und in die MMU laden kann. 17

18 Zugriff auf die MMU-Register Tabelle mit MMU- Deskriptoren Länge Erlaubnis Basis-Adresse Länge Erlaubnis Basis-Adresse... Länge Erlaubnis Basis-Adresse Deskriptoren werden über besondere Adressbereiche in die MMU geschrieben Tabelle Prozess 1 Prozess 2 Prozess 3 MMU I/O Betriebssystem Die Register der MMU werden wie I/O-Geräteregister behandelt. 18

19 CPU-Arbeitsmodi I - Wiederholung Im Status-Register der CPU befindet sich ein Bit zum Vermerken des globalen Arbeitsmodus der CPU: User-Mode: Normaler, eingeschränkter Modus Kernel-Mode: nur vom Betriebssystem benutzter Modus ohne jede Einschränkung Die Einschränkung im User-Mode betrifft die Ausführung folgender Instruktionsgruppen: I/O-Instruktionen (falls vorhanden) Administrationsinstruktionen (Reset, Stop etc.) Setzen des Status-Registers Nun gibt es für jeden Modus einen eigenen MMU-Registersatz, der automatisch mit Wechsel des CPU-Modus auch gewechselt wird. 19

20 CPU-Arbeitsmodi II User-Mode Kernel-Mode 20

21 Was passiert bei der Trap-Instruktion? 1. CPU-Modus wechselt in den Kernel-Mode: es wird ein anderer MMU-Deskriptor benutzt 2. CPU rettet den aktuellen SP und lädt den alten Kernel-SP 3. Status-Register wird auf den Kernel-Stack gebracht 4. PC wird (wie beim jsr) auf den Kernel-Stack gebracht 5. Sprung an eine vorher festgelegte Adresse im Kernel Da der Kernel selbst ein Programm mit sich gegenseitig aufrufenden Routinen ist, benutzt er einen eigenen Stack, d.h. mit Segmentwechsel findet noch ein Stackwechsel statt. Der Wechsel vom User-Stack zum Kernel-Stack wird durch Austausch/Änderung des Stack-Registers realisiert (Schritt 2), manchmal erfolgt dies durch Hardware. Nach der Trap-Instruktion werden dann noch die restlichen Register auf den Kernel-Stack gerettet. 21

22 Was passiert beim Return-from-Trap? 1. Wiederherstellen des alten PC-Wertes 2. Wiederherstellen des alten SR-Wertes und damit Wechsel in den User-Mode mit anderem MMU-Deskriptor 3. CPU rettet den aktuellen Kernel-SP und lädt den alten User-SP 4. Benutzen des MMU-Deskriptors für User-Modus Analog zum Trap muss auch hier der Stack wieder zurück getauscht werden. Bei vielen Maschinen wird der Stackwechsel so realisiert, dass es zwei Stackpointer gibt so wie es bei der MMU für jeden Modus je einen Deskriptor gibt, gibt es hier auch zwei SP, z.b. MC Es gibt auch Maschinen mit speziellen Registersätzen für jeden Modus bzw. als Reaktion auf Interrupts. Weiterhin werden vor dem Stackwechsel, d.h. vor der RTT-Instruktion die geretteten allgemeinen Register wiederhergestellt. 22

23 TRAP und RTT TRAP-Instruktion RTT-Instruktion CPU-Mode:= Kernel Wechsel des MMU-Deskriptors Retten des User-SP Wiederherstellen des Kernel-SP Push Status-Register Push Programm Counter PC:= Spezielle Adresse Setzen des Kernel-Mode im SR Pop Programm Counter Pop Status-Register CPU-Mode:= SR-Wert Wechsel des MMU-Deskriptors Retten des Kernel-SP Wiederherstellen des User-SP Trap-Handler = Routine im Kernel, die aufgrund eines Traps an einer "speziellen Adresse" angesprungen wird 23

24 Mechanismus der Trap-Instruktion I - Wiederholung 24

25 Mechanismus der Trap-Instruktion II - Wiederholung Diese Tabellen sowie der Code der Trap-Handler müssen im Segment des Kernel vorhanden sein. 25

26 Zwischenbemerkung Der vorgestellte Umschalte-Mechanismus vom User-Programm in den Kernel verläuft analog genauso in folgenden Situationen: Beim Ausführen der Trap-Instruktion als Realisierung eines System-Aufrufs Beim Abbruch einer Instruktion aufgrund eines Fehlers (Exception) Bei Annahme eines Interrupts durch den Kernel Die letzten beiden Situationen können auch im Kernel-Mode eintreten, die erste eigentlich nur aus einem Benutzerprogramm heraus. 26

27 Beispiel: Syscall read() Beim read() wird ein Datenblock von einem Gerät in den RAM eines User- Programms durch das Betriebssystem kopiert (vereinfachte Darstellung). 27

28 Reaktion bei Speicherverletzungen I 1. Die MMU meldet der CPU eine Speicherverletzung (zu hohe Adresse) während der Ausführung eines Befehls. 2. Es erfolgt als Teil dieser Instruktion das, was einen Trap ausmacht, daher Wechsel in das Betriebssystem (Kernel-Modus) 4. Der Trap-Handler hat nun folgende Möglichkeiten: Abbruch des Prozesses mit eventuellem Erzeugen eines Speicherabzugs (core dump) zur Post-Mortem-Analyse Versuch weiteren Speicher bis zur Adresse, auf die versucht wurde zuzugreifen, bereit zu stellen: Bedingung: Prozess muss dann noch in den RAM passen Gelingt das nicht: Abbruch wie oben 28

29 Reaktion bei Speicherverletzungen II Als Reaktion einer Speicherverletzung wird eine Art eines impliziten Systemaufrufs zur Behandlung zur Vergrößerung des Speichers durchgeführt. Kann das Programm weiter ausgeführt werden, wird die abgebrochene Instruktion noch einmal ausgeführt; dazu müssen aber alle bis zum Abbruch schon getätigten Effekte beachtet werden. Das Letztere ist manchmal nicht einfach ist aber nur bei CISC- Rechnern notwendig, RISC-Maschinen haben nicht solche Probleme. Mit diesem Verfahren kann dynamisch der Speicher vergrößert werden. 29

30 Dynamische Vergrößerung des Arbeitsspeichers Das geschilderte Verfahren führt zur hoher Speichereffizienz, denn: Ein neuer Prozess bekommt zum Start den kleinst möglichen Speicher zugeordnet. Nur wenn er wirklich mehr Speicher braucht, bekommt er ihn dynamisch durch dieses Verfahren. Eine Speicherverletzung ist daher nicht unbedingt das Kennzeichen von einem fehlerhaften Programm. 30

31 Idee des Swapping Eigenschaften des bisherigen Segment-Konzepts: 1. Alle Segmente müssen in den Arbeitsspeicher passen. 2. Das größtmögliche Segment ist durch die Größe des Arbeitsspeichers begrenzt. Um die 1. Eigenschaft zu beseitigen, wird ein Stück Plattenspeicher als Arbeitsspeichererweiterung benutzt. Dieser Plattenbereich ist größer als der Arbeitsspeicher, so dass nun alle Segmente zusammen in diesen Bereich passen müssen, aber nicht zusammen in den Arbeitsspeicher. Vor Aus-/Weiterführung eines Programms wird das Segment in den RAM gebracht (swap in), zur Pause wird es aus dem RAM ausgelagert (swap out). Swapping = Einlagern und Auslagern von Segmenten von einer bzw. auf eine Platte bzw. SSD 31

32 Swapping 4 32

33 Der Schritt zum Paging Bei den Segmenten muss immer noch der gesamte Prozess in den RAM passen. Um nur die wichtigen Teile eines Segments einzulagern und alles andere auf dem Swap-Gerät zu lassen, wird das Segment in gleich große Seiten (Pages, Kacheln) eingeteilt, werden nur die Seiten, die gebraucht werden, in den RAM geladen. Seite = Page = Kachel = Gleichgroße Teile eines Segments Typische Seitengrößen liegen bei 4 bis 8 Kbyte. Jetzt müssen nur noch die tatsächlich benötigten Seiten - das können 2-3 sein - eines Prozesses im RAM liegen. Je weniger es sind, desto langsamer ist das Programm, da dann sehr häufig Seiten nachgeladen werden müssen. Das Paging-Verfahren hat noch den Vorteil, dass der RAM in gleichgroße Teile aufgeteilt wird, d.h. es entstehen keine verschieden lange Lücken zwischen den Segmenten. 33

34 Paging Aufteilung in Seiten 34

35 Paging Beispiel für Adressumsetzung Auswahl des Deskriptors 35

36 Erläuterungen Der virtuelle Adressraum wird durch Aufteilung der virtuellen Adresse in zwei Teilfelder in gleich große Seiten eingeteilt. Jede Seite erhält von der MMU einen eigenen Deskriptor, der jetzt ohne ein Längenfeld auskommen kann, da die Länge konstant ist. Es gibt ein Flag, das anzeigt, ob die Seite im RAM liegt oder nicht. Alle Zugriffe auf eingelagerte Seiten passieren ohne Probleme die MMU. Die eingelagerten Seiten können an beliebigen Orten im RAM liegen. Die virtuellen Startadressen sind nun von 0 an jeweils ein (Vielfaches von der Seitengröße) 1. Spätestens jetzt ist die Tabelle mit den Deskriptoren recht groß, bei 4 GB sind es 1024 bei einer Seitengröße von 4 KB pro Prozess. Die CPU holt sich automatisch aus der Tabelle die benötigten Deskriptoren, oder die MMU holt sich diese selbständig und benutzt dazu einen eigenen Cache. 36

37 Zugriff auf eine ausgelagerte Seite 1.Die MMU zeigt eine Speicherverletzung an, die den Abbruch der Instruktion bewirkt. 2.Es wird der Effekt einer nicht programmierten Trap-Instruktion ausgeführt. 3. Im Kernel wird die fehlende Seite nachgeladen. 4. Der korrespondierende MMU-Deskriptor wird verändert. 5.Anschließend wird in den User-Mode zurückgekehrt und die abgebrochene Instruktion wiederholt. Dieses Verfahren ist daher gleich dem obigen zur Speichervergrößerung. Damit ist das Einlagern von Seiten aus der Sicht des Programms vollkommen transparent. 37

38 Ursachen von "Traps" Die Ausführung eines "Traps" hat damit verschiedene Ursachen: 1. Als explizit programmierte Instruktion: System-Aufruf 2. Als Folge eines Fehlers, z.b. Division durch 0 3. Als Folge eines Zugriffs auf eine Adresse eines zu kleinen Segments, das vergrößert werden kann 4. Als Folge eines fehlerhaften Zugriffs auf eine Adresse 5. Als Folge eines Zugriffs auf eine nicht geladene Seite, die eingelagert werden soll 6. Als Folge einer Verletzung einer Zugriffsregel In allen Fällen entscheidet der Trap-Handler, was passiert. "Traps" sind also NICHT unbedingt Folgen eines Fehlers. 38

39 Seitenaustauschverfahren Bei jedem Schreibzugriff durch die CPU wird eine Seite als modifiziert markiert (Setzen des dirty-bits im Deskriptor). Seiten ohne gesetztes dirty-bit brauchen beim Auslagern nicht auf das Swap-Gerät geschrieben zu werden. Seiten, die am längsten nicht mehr benutzt wurden, sind gute Kandidaten zum Auslagern. Bemerkungen zur Strategie des Paging: Die Verfahren zur Bestimmung, welche Seite ausgelagert und welche eingelagert wird, beeinflussen entscheidend die Performanz. Das Problem, welche Seite ausgelagert werden sollte, ist dasselbe Problem wie bei den Caches. Hierzu gibt es verschiedenen Strategien, die alle ihre Vor- und Nachteile haben 39

40 Hybrid/Mischverfahren Das Seiten- und das Segment-Verfahren lassen sich gut kombinieren, indem verschieden lange Segmente in gleich große Seiten eingeteilt werden. Segmente haben dann immer die Länge des Vielfachen einer Seitenlänge. Diese Kombination ist das übliche Verfahren moderner Betriebssysteme. 40

41 Hybrid-Verfahren Auswahl des Deskriptors 41

42 Nach dieser Anstrengung etwas Entspannung... 42

Computer-Systeme Teil 15: Virtueller Speicher

Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller

Mehr

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI Übersicht Virtueller Speicher CPU-Modi Virtuelle Maschinen 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem Medien Hardware

Mehr

Rechnerarchitektur und Betriebssysteme Teil 7: Virtueller Speicher

Rechnerarchitektur und Betriebssysteme Teil 7: Virtueller Speicher Rechnerarchitektur und Betriebssysteme Teil 7: Virtueller Speicher Rechnerarchitektur/Betriebssysteme - SS02 - Teil 7/Virtueller Speicher 01.07.2002 1 Übersicht Einführung in Betriebssysteme Virtueller

Mehr

[6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, , , S.

[6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, , , S. Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2] Hübscher, Heinrich et al.: IT-Handbuch, IT-System-elektroniker/-

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Betriebssysteme Teil 6: Hardware-Schicht II

Betriebssysteme Teil 6: Hardware-Schicht II Betriebssysteme Teil 6: Hardware-Schicht II 13.11.15 1 Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2]

Mehr

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

Konzepte 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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse 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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse 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

Mehr

RO-Tutorien 15 und 16

RO-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

Mehr

Virtueller Speicher und Memory Management

Virtueller 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

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. 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

Mehr

Computer-Systeme Teil 11: Routinen

Computer-Systeme Teil 11: Routinen Computer-Systeme Teil 11: Routinen Computer-Systeme WS 12/13 - Teil 11/Routinen 03.12.2012 1 Übersicht Stack Subroutinen Makros CPU-Modi Traps Computer-Systeme WS 12/13 - Teil 11/Routinen 2 Die einzelnen

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (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

Mehr

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

Proseminar 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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme 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

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: 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

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

RO-Tutorien 17 und 18

RO-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

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 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

Mehr

Lösungsvorschlag für Übung September 2009

Lö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

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1

5.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

Mehr

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

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1

5.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

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

Proseminar 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 Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

DOSEMU. 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 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

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung 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

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen 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

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei 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

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

5.5.5 Der Speicherverwalter

5.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)

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren 5. Oktober 2008 1 Grundlagen 2 SWEB 3 Kernel Basics Memory Management Details 4 Userspace 5 Hacking 6 Beispiele 7 Assignment 0 Aufgaben eines Betriebssystems

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Speicherverwaltung. 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

Mehr

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

Speicher- 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

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Hardware und Gerätetreiber

Hardware und Gerätetreiber Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches

Mehr

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

Betriebssysteme 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

Mehr

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

Linker: 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

Mehr

Mikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung)

Mikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung) 6. Exceptionhandling ( Ausnahmebearbeitung) Exception: Exception ist eine besondere Situation, auf die der Prozessor mit einem speziellen Programm (Exceptionroutine) reagieren muss. Das gerade ablaufende

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung 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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 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

Mehr

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Einführung in die technische Informatik

Einfü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

Mehr

Technische Realisierung (1)

Technische 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

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen 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,

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung 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

Mehr

5.5 Virtueller Speicher

5.5 Virtueller Speicher 5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory), ist beliebig groß, nimmt alle Prozesse auf, ist in gleichgroße Teile Seiten

Mehr

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

é 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

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

Naiver 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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme 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

Mehr

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.

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. 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 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME 1 / 25 DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME Martin Böhnert, Thorsten Zitterell, Christoph Scholl Albert-Ludwigs-Universität Freiburg Fakultät für Angewandte Wissenschaften Institut

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection Übersicht Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem

Mehr

Computer-Systeme. Teil 13: Konzept der Threads

Computer-Systeme. Teil 13: Konzept der Threads Computer-Systeme Teil 13: Konzept der Threads Computer-Systeme WS 12/13 - Teil 13/Threads 02.01.2013 1 Übersicht I/O als langsamster Vorgang Threadwechsel mit der Resume-Operation Verfeinerung der Systemaufrufe

Mehr

Rechnerorganisation. Überblick über den Teil 13

Rechnerorganisation. Überblick über den Teil 13 Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte 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

Mehr

Seminarvortrag Swapping Schwerpunkt Linux

Seminarvortrag Swapping Schwerpunkt Linux Seminarvortrag Swapping Schwerpunkt Linux Konzepte von Betriebssystem- Komponenten (KVBK) Thomas Mayer Betriebssystem-Komponenten KVBK 1 Gliederung Was ist Swapping? Aufbau eines Swapbereiches Swapcache

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(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

Mehr

Übersicht. Virtuelle Maschinen Erlaubnisse (Rechte) (Protection-)Ringe. AVS SS Teil 12/Protection

Übersicht. Virtuelle Maschinen Erlaubnisse (Rechte) (Protection-)Ringe. AVS SS Teil 12/Protection Übersicht Virtuelle Maschinen Erlaubnisse (Rechte) (Protection-)Ringe 2 Literatur Virtuelle Maschinen [12-1] https://de.wikipedia.org/wiki/liste_von_virtualisierungsprodukten [12-2] https://de.wikipedia.org/wiki/virtuelle_maschine

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

Bootvorgang des DSM-Systems Systems Plurix

Bootvorgang des DSM-Systems Systems Plurix Bootvorgang des DSM-Systems Systems Plurix Stefan Frenz Vortrag im Rahmen der Abteilungsbesprechung Voraussetzungen: CPU CPU-Modi Voraussetzungen: BIOS Rechner-Initialisierung durch das BIOS Interrupt

Mehr

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Assignment #2 Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Organisatorisches:Termine Ab Montag Tutorien 10.12.-14.12. Designdiskussionen 18.12. Abgabe Designdokument 18.1. Abgabe Implementierung

Mehr

Betriebssysteme Teil 7: Konzept der Threads

Betriebssysteme Teil 7: Konzept der Threads Betriebssysteme Teil 7: Konzept der Threads 06.11.15 1 Übersicht I/O als langsamster Vorgang Threadwechsel mit der Resume-Operation Interrupts Scheduler Time Sharing 2 Motivation Die Geschwindigkeit der

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich

Mehr

Lösung von Übungsblatt 2

Lö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

Betriebssysteme Teil 3: Laufzeitsystem für Programme

Betriebssysteme Teil 3: Laufzeitsystem für Programme Betriebssysteme Teil 3: Laufzeitsystem für Programme 23.10.15 1 Literatur [3-1] Stack: http://fbim.fh-regensburg.de/~hab39652/pg1/skriptum/ ausdruecke/maschinenmodell.html [3-2] https://de.wikipedia.org/wiki/dynamischer_speicher

Mehr

Wie schreibt man ein Betriebssystem?

Wie schreibt man ein Betriebssystem? Wie schreibt man ein Betriebssystem? Vom BIOS in den Userspace Andreas Galauner Easterhegg 2011 Democode Es gibt Democode: http://github.com/g33katwork/sigint10osworkshop git clone git://github.com/g33katwork/

Mehr

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de

Mehr

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16

Mehr

Speicherverwaltung und Cache Erläuterungen

Speicherverwaltung und Cache Erläuterungen theoretischen Grundlagen der Lernmaterial zum Modul - 31231 - der Fernuniversität Hagen Inhaltsverzeichnis 1 Speicherverwaltung 5 Erklärung.......................................... 5 1.1 Seitentabelle

Mehr

(Cache-Schreibstrategien)

(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

Mehr

Betriebssysteme Studiengang Informatik / SAT

Betriebssysteme 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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

Mehr

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack 1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse

Mehr

Intel x86 Bootstrapping

Intel 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

Mehr

Ein- Ausgabeeinheiten

Ein- 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-

Mehr

A ProgrAmmer s Guide to KIM Programming

A ProgrAmmer s Guide to KIM Programming A ProgrAmmer s Guide to KIM Programming by Erik Bartmann - Vers. 0.1 1 - Die Hardware Organisation des 6502 Wie schaut es im Inneren aus Wie ich es schon angedroht hatte, ist es doch notwendig, sich ein

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr