Computer-Systeme Teil 15: Virtueller Speicher
|
|
- Rudolph Acker
- vor 7 Jahren
- Abrufe
Transkript
1 Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher
2 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 2
3 Physikalischer Adressraum I - Wiederholung CPU RAM I/O 1 I/O 2 I/O N... BUS I/O-Geräte verhalten sich wie der RAM CPU kommuniziert mit I/O-Geräten wie mit dem RAM Niedrige Adressen Hohe Adressen Betriebssystem Prozesse Lücke I/O-Geräte Physikalischer Adressraum Bereich, in dem RAM vorhanden ist Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 3
4 Physikalischer Adressraum II - Wiederholung Es wird von nun an 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 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, der bei uns bei den Geräteregistern liegt Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 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. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 5
6 Memory Management Unit (MMU) I Virtuelle Adressen Reale Adressen CPU MMU Memory Management Unit (MMU) als Filter und Umrechnungseinheit RAM I/O 1 I/O 2 BUS Rückmeldung an CPU (trap) Prüfung, ob zu hoch Virtuelle Adresse Funktionsweise der MMU Nicht-Ok OK + Reale Adresse Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 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. 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. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 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. So sind die anderen Programme untereinander sowie der Kernel vor Zugriffen geschützt. Eine andere Aufgabe besteht in der Herstellung der Ortsunabhängigkeit der Segmente, daher können die Segmente an verschiedenen Stellen im physikalischen RAM stehen. Die Realisierung von virtuellen Adressen mit einem unüberwindbaren Schutzmechanismus wie eine MMU ist eines der wichtigsten Schutzkonzepte in Computern. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 8
9 MMU - Genauer I 0 Max Prozess 1 Virtueller Adressraum (der CPU) 0 Max Prozess 1 Physikalischer Adressraum (des Busses) Nichtzugreifbarer Bereich für Prozess 1 Vom Prozess 1 benutzter Bereich im Physikalischen Adressraum Nicht-zugreifbarer Bereich für Prozess 1 Basisadresse Länge Basisadresse+Länge-1 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. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 9
10 MMU - Genauer II Virtuelle Addressräume 0 Max 0 Max 0 Max Prozess 1 Prozess 2 Prozess 3 Physikalischer Adressraum Betriebssystem Prozess 2 Prozess 1 Prozess 3 I/O 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 Programme gleichzeitig im Arbeitsspeicher liegen. Der Kernel wird von der MMU wie ein eigenes Programm behandelt. Damit der Kernel auf alle Geräte und den restlichen RAM zugreifen kann, hat sein Bereich die Basisadresse 0 und die maximal mögliche Länge, d.h. sein virtueller Adressraum überdeckt alles. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 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 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 11
12 Erläuterungen II Durch das Addieren zur Basisadresse sind die Segmente unabhängig von der Position im RAM, d.h. sie können 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. Ist dieser voll, so kann weder ein neues Segment geschaffen noch ein bestehendes vergrößert werden. Segmente können sich im physikalischen Bereich meist partiell - überdecken. Dies dient der Realisierung von gemeinsam benutzten RAM- Bereichen zwischen Prozessen (shared memory). Das Segment des Betriebssystems überdeckt alles. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 12
13 Programm, Process und Thread Prozess = Sequentiell ablaufendes Programm mit eigenem und von anderen Prozessen getrennten Adressraum Thread = Sequentiell ablaufendes Programm ohne einen gegenüber anderen Threads abgetrennten Adressraum Innerhalb des Kernels und innerhalb der Prozesse können verschiedene Threads laufen. Ohne MMU gibt es nur Threads, mit MMU nur Prozesse, in denen Threads laufen können. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 13
14 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, (kein Befall von Viren zur Laufzeit möglich). Wenn das Code-Segment schreibgeschützt ist, kann es von mehreren Prozessen gemeinsam benutzt werden (Einsparung von Speicherplatz, Shared Memory). Die Code-Segmente werden dann auf denselben physikalischen Adressbereich abgebildet (haben also dieselbe Basisadresse). Es können aber auch Datenbereiche gemeinsam benutzt werden. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14
15 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 Länge Erlaubnis Länge Erlaubnis Auswahl des Registersatzes Adressumsetzer Länge Erlaubnis Reale Adresse 0 Max Code Heap Stack Betriebssystem Code (P1) Heap Stack I/O Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 15
16 Shared Code Prozess P1 Länge Erlaubnis Länge Erlaubnis Prozess P2 Länge Erlaubnis Länge Erlaubnis 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 von P1 und P2 Read/Write Read/Write Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 16
17 Wenn ein Programm läuft... ist immer der korrespondierende MMU-Deskriptor aktiv. Wenn nun die CPU einem anderen Programm, 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, z.b. in der Thread-Tabelle des Kernels. Diese Tabelle liegt außerhalb des Zugriffs aller Programme, so dass nur der Kernel die Deskriptoren ändern und in die MMU laden kann. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 17
18 Zugriff auf die MMU-Register Tabelle mit MMU- Deskriptoren Länge Erlaubnis Länge Erlaubnis... Länge Erlaubnis Registersätze sind über besondere Adressbereiche beschrieben Betriebssystem Prozess 1 Prozess 2 Prozess 3 MMU I/O Die Register der MMU werden wie I/O-Geräteregister behandelt. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 18
19 Syscalls - Wiederholung User-Programm Systemaufruf Trap Fehlerbehandlung Systemaufruf- Verteiler User-Mode Kernel-Mode I/O-System Filesystem Netzwerk- Dienste... Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 19
20 Beispiel: read (Linux) #include <unistd.h> int read(int fd, void *buf, size_t count) Dies ist in der Programmiersprache C formuliert. Es wird versucht aus der Datei mit dem Filedescriptor fd count Bytes zu lesen und diese in einen Puffer an der Startadresse buf zu schreiben. Es wird die Zahl der tatsächlich gelesenen Bytes zurück geliefert, eine 0 bei EOF oder eine -1. Im letzten Fall gibt die globale Variable errno Auskunft über den Fehler, der mit perror(3) ausgegeben werden kann. int read(fd, buffer, cnt) gelesene Bytes Puffer Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 20
21 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 Manchmal sind es mehrere Bits, so dass es mehr als 2 Modi der CPU gibt. 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 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 21
22 CPU-Arbeitsmodi II 0 Max Prozess 1 Virtueller Adressraum (der CPU) User-Mode MMU-Deskriptor 1 I/O Physikalischer Adressraum (des Busses) MMU-Deskriptor 2 Betriebssystem Prozess 1 I/O Virtueller Adressraum (der CPU) Code und Daten des Kernels Zugriffsrechte des Kernels Kernel-Mode Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 22
23 Was passiert beim Trap? 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 in der CPU realisiert (Schritt 2), manchmal erfolgt dies durch Hardware. Dass es nun zwei Stacks geben muss, liegt an den Segmenten und der MMU bzw. dem virtuellen Arbeitsspreicher. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 23
24 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 ausgetauscht werden. Weiterhin werden vor dem Stackwechsel, d.h. vor der RTT- Instruktion die geretteten Register wiederhergestellt. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 24
25 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 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 25
26 Mechanismus der Trap-Instruktion I - Wiederholung (1) (5) User-Mode R: trap Nr (2) (4) Kernel-Mode (3) S: rtt Die Pfeile geben den Weg an, den der PC nimmt. Der Code beider Routinen befindet sich in getrennten Adressräumen Code der Routine R Code der Routine S Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 26
27 Mechanismus der Trap-Instruktion II - Wiederholung Tabellen und Routinen im Kernel trap Parameter Adressen der Routinen, die die Syscalls realisieren Indizieren Adresse FN... Adresse F4 Adresse F3 Adresse F2 Adresse F1 Syscall F4... RTT Syscall F3... RTT Syscall F2... RTT... Tabelle steht an einer speziellen dafür vorgesehenen Stelle Routinen im Kernel Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 27
28 Beispiel: Syscall read() I/O Physikalischer Adressraum (des Busses) Prozess 1 trap Virtueller Adressraum (der CPU) Betriebssystem Prozess 1 I/O Syscall Read (2) Kopieren der Daten ins Programm (1) Absetzen des Lese-Kommandos Beim read() wird ein Datenblock von einem Gerät in den RAM eines User- Programms durch das Betriebssystem kopiert (vereinfacht). Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 28
29 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 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 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 29
30 Reaktion bei Speicherverletzungen II Trap-Behandler = Trap handler = Routine im Kernel, die durch den Trap aktiviert wird - rettet die Register etc., so dass nach der Behandlung des Traps das Programm weitergeführt werden könnte. Als Reaktion einer Speicherverletzung wird eine Art Systemaufruf (Syscall) zur Behandlung zur Vergrößerung des Speichers aufgerufen. Kann das Programm weiter ausgeführt werden, wird die abgebrochene Instruktion noch einmal ausgeführt; dazu müssen aber alle bis zum Abbruch getätigten Effekte beachtet werden. Mit diesem Verfahren kann dynamisch der Speicher vergrößert werden. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 30
31 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 das Kennzeichen von einem fehlerhaften Programm. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 31
32 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 bestimmt. Um die 1. Eigenschaft zu beseitigen, wird ein Stück Plattenspeicher als Arbeitsspeichererweiterung benutzt. Dieser Plattenbereich ist um ein Vielfaches größer als der Arbeitsspeicher, so dass nun alle Segmente zusammen in diesen Bereich passen müssen, aber nicht unbedingt 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 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 32
33 Swapping 0 Prozess 1 Max Virtueller Adressraum Betriebssystem Prozess 1 I/O Realer Adressraum Plattenadressraum Prozess 1 Prozess 2 Lücke Prozess 3 Gesamtgröße beschränkt die max. Summe aller Prozesslängen Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 33
34 Der Schritt zum Paging Bei den Segmenten muss immer noch der gesamte Prozess (Segment) 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 brauchen nur noch die tatsächlich benötigten Seiten - das können 2-3 Stück 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. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 34
35 Paging - Swapping 0 Max Code Variablen Stack Prozess P1 Adressbereiche der Seiten/Kacheln (Raster) Betriebssystem x x x x x x x x x I/O Swap-Bereich eingelagerte Seiten von Prozess P1 (x) x x x x x x x x x x x x x x y y y y y y y y y y y Alle Seiten von P1 Alle Seiten von P2 Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 35
36 Paging Beispiel für Adressumsetzung Virtuelle Adresse Indizierung 20 bit 12 bit Page-ID Adresse innerhalb der Seite Beispiel für 32 bit-addressraum Seitengröße ist 4 KByte 0 Erlaubnis Erlaubnis Erlaubnis Auswahl des Registersatzes Adressumsetzer Reale Adresse Erlaubnis Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 36
37 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. Hinzu kommt 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 in beliebiger Reihenfolge im RAM liegen. Die virtuellen Startadressen sind nun von 0 an jeweils ein Vielfaches von der Seitengröße. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 37
38 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. Damit ist das Einlagern von Seiten aus der Sicht des Programms vollkommen transparent. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 38
39 Ursachen von "Traps" Die Ausführung von "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 In allen Fällen entscheidet der Trap-Handler, was passiert. "Traps" sind also NICHT unbedingt Folgen eines Fehlers. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 39
40 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 werden. Seiten, die am längsten nicht mehr benutzt wurden, sind gute Kandidaten zum Auslagern. 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. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 40
41 Hybrid/Mischverfahren Das Seiten- und das Segment-Verfahren lassen sich gut kombinieren, indem Segmente in gleich große Seiten eingeteilt werden, d.h. Segmente haben immer die Länge des Vielfachen einer Seite. Bei der Kombination wird in zwei Stufen vorgegangen: Normales Verfahren bei den Segmenten Dann erst Verfahren mit Kacheln Diese Kombination ist das übliche Verfahren moderner Betriebssysteme. Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 41
42 Hybrid-Verfahren Virtuelle Adresse 8 bit 12 bit 12 bit Segment-ID Seiten-ID Adresse innerhalb der Seite Indizierung 0 Länge Erlaubnis Page-Adresse Länge Erlaubnis Page-Adresse Auswahl des Registersatzes Adressumsetzer Länge Erlaubnis Page-Adresse Tabelle der Seitendeskriptoren Reale Adresse Länge Erlaubnis Page-Adresse Tabelle der Segmentdeskriptoren Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 42
43 Nach dieser Anstrengung etwas Entspannung... Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 43
Betriebssysteme Teil 10: Virtueller Speicher
Betriebssysteme Teil 10: Virtueller Speicher 11.12.15 1 Übersicht Segmente Systemaufrufe Swapping Paging 2 Physikalischer Adressraum I - Wiederholung 3 Physikalischer Adressraum II - Wiederholung Es wird
MehrRechnerarchitektur 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Ü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
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
MehrComputer-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
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
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
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
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
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
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
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
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)
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
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
MehrWie 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[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/-
MehrEchtzeit-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
MehrEchtzeit-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
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
MehrLinux 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
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 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
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
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
MehrBetriebssysteme Ü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
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
MehrSchreiben 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
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
MehrBetriebssysteme 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]
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
MehrComputer-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
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)
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
MehrAssignment #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
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
MehrBetriebssysteme 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
MehrBetriebssysteme 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Ü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),
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
MehrÜ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
MehrBetriebssysteme 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
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
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
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
MehrBetriebssysteme. 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(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
Mehr5.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
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
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren
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
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
Mehr5 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
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
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
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
MehrHardware 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
MehrTechnische Informatik 1
Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem
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
MehrEinschub: HW-Zugriff aus dem Userspace
Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem
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
MehrJust-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
MehrLehrveranstaltung: 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
MehrTechnische 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(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
Mehr7 Laufzeit-Speicherverwaltung
7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.
MehrKlausur Betriebssysteme I
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 18.3.2011 Bitte bearbeiten Sie die Aufgaben auf den Aufgabenblättern. Die Benutzung von Unterlagen oder Hilfsmitteln ist nicht erlaubt. Die Bearbeitungszeit
MehrArchitektur 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 =
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
MehrKlausur Betriebssysteme I
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 14.3.2008 Bitte bearbeiten Sie die Aufgaben auf den Aufgabenblättern. Die Benutzung von Unterlagen oder Hilfsmitteln ist nicht erlaubt. Die Bearbeitungszeit
MehrRechnerorganisation. Ü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
Mehr1 pulsierender Speicher
1 pulsierender Speicher 1.1 Aufgabentyp Gegeben sei das folgende C-Programm: [...] (a) Geben Sie den Gültigkeitsbereich jedes Objektes des Programms an. (b) Stellen Sie die Rechnung des Programms für die
MehrJust-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
MehrBootvorgang 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
MehrSequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )
Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige
MehrLinux Memory Management für MySQL
Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:
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
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
MehrSeminarvortrag 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Ü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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
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
MehrBetriebssysteme. Tutorium 12. Philipp Kirchhofer
Betriebssysteme Tutorium 12 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 3. Februar 2010 Philipp
MehrProseminar: Konzepte von Betriebsystem-Komponenten (KVBK)
Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK) Schwerpunkt Linux Interrupts, Softirqs, Tasklets, Bottom Halves Interrupts: Softirqs, Tasklets, Bottom Halves 1 Thomas Engelhardt Übersicht: Klassifizierung
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
MehrCache 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
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. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo
Betriebssysteme Wintersemester 2015 Kapitel 3 Speicherverwaltung Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung
MehrBetriebssysteme 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(Ausnahmebehandlung)
16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2
MehrSystemaufrufe. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011
Systemaufrufe Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Systemaufrufe 1/17 2010-09-13 Motivation Am Beispiel
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
MehrQuiz. 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Übung zu Betriebssystemtechnik
Übung zu Betriebssystemtechnik Paging in StuBSmI 14. Mai 2018 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme
Mehr5. Aufgabenblatt Speicherverwaltung
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 0/. Aufgabenblatt Speicherverwaltung Geplante Bearbeitungszeit: drei Wochen Aufgabe.
Mehr