4.6 Aufgaben zum Kapitel Speicherverwaltung

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
(50 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Aufgaben zum Kapitel Speicherverwaltung=
<br />
== Aufgabe 1 ==
== Aufgabe 1 ==
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Swapping und Paging">
<loop_task title="Swapping und Paging" id="5fa9784390e1c">
<p>
<p>
Erläutere den grundlegenden Unterschied zwischen Swapping und Paging!
Erläutere den grundlegenden Unterschied zwischen Swapping und Paging!
Zeile 17: Zeile 14:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Optimale Seitenersetzung">
<loop_task title="Optimale Seitenersetzung" id="5fa9784390e2e">
<p>
<p>
Erläutern Sie die Funktionsweise des optimalen Seitenersetzungsalgorithmus und warum er nicht in der Praxis implementiert werden kann.
Erläutere die Funktionsweise des optimalen Seitenersetzungsalgorithmus und warum er nicht in der Praxis implementiert werden kann.
</p>
</p>
</loop_task>
</loop_task>
Zeile 29: Zeile 26:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="LRU und NRU">
<loop_task title="LRU und NRU" id="5fa9784390e3c">
<p>
<p>
Was bedeuten die Abkürzungen LRU und NRU im Hinblick auf Seitenersetzungsalgorithmen?
Was bedeuten die Abkürzungen LRU und NRU im Hinblick auf Seitenersetzungsalgorithmen?
Zeile 41: Zeile 38:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Arbeitsweise LRU">
<loop_task title="Arbeitsweise LRU" id="5fa9784390e4a">
<p>
<p>
Erläutere die Arbeitsweise des LRU-Algorithmus.
Erläutere die Arbeitsweise des LRU-Algorithmus.
Zeile 53: Zeile 50:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Arbeitsweise NRU">
<loop_task title="Arbeitsweise NRU" id="5fa9784390e58">
<p>
<p>
Skizzieren Sie Aufgabe und Funktionsweise der NRU-Seitenersetzungsstrategie.
Erläutere die Aufgabe und Funktionsweise der NRU-Seitenersetzungsstrategie.
</p>
</p>
</loop_task>
</loop_task>
Zeile 65: Zeile 62:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Spalten der Seitentabelle bei NRU">
<loop_task title="Spalten der Seitentabelle bei NRU" id="5fa9784390e66">
<p>
<p>
Bei dem NRU-Seitenersetzungsalgorithmus besteht die Seitentabelle aus (mindestens) 4 Spalten. Benennen Sie die vier Spalten und erläutern Sie deren jeweilige Aufgabe(n).
Bei dem NRU-Seitenersetzungsalgorithmus besteht die Seitentabelle aus (mindestens) 4 Spalten. Benenne die vier Spalten und erläutere deren jeweilige Aufgabe(n).
</p>
</p>
</loop_task>
</loop_task>
Zeile 77: Zeile 74:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Umstände beim Seitenfehler">
<loop_task title="Umstände beim Seitenfehler" id="5fa9784390e74">
<p>
<p>
Wann tritt ein Seitenfehler (Page fault) auf? Erläutere die Umstände.
Wann tritt ein Seitenfehler (Page fault) auf? Erläutere die Umstände.
Zeile 89: Zeile 86:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="">
<loop_task title="Auslagern bei NRU" id="5fa9784390e82">
<p>
<p>
Die Speicherverwaltung eines Betriebssystems arbeite nach der NRU-Seitenersetzungsstrategie.
Die Speicherverwaltung eines Betriebssystems arbeite nach der NRU-Seitenersetzungsstrategie.
Zeile 98: Zeile 95:
<p>
<p>
In welcher Weise beeinflussen die möglichen Werte in diesen Spalten die Entscheidung bzgl. der Auswahl einer zum Auslagern geeigneten Seite?
In welcher Weise beeinflussen die möglichen Werte in diesen Spalten die Entscheidung bzgl. der Auswahl einer zum Auslagern geeigneten Seite?
</p>
</loop_task>
</loop_area>
</p>
<br />
== Aufgabe 9 ==
<p>
<loop_area type="task">
<loop_task title="Virtuelle Speicherverwaltung" id="5fa9784390e90">
<p>
{| style="float:left; margin-right:2em"
|-
|style="text-align:right"| <sub>31</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>30</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>29</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>28</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>27</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>26</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>25</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>24</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>23</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>22</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>21</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>20</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>19</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>18</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>17</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>16</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>15</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>14</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>13</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>12</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>11</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>10</sub>  &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>9</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>8</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>7</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 100 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|-
|style="text-align:right"| <sub>6</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>5</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 0 &nbsp;
|-
|style="text-align:right"| <sub>4</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 000 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|-
|style="text-align:right"| <sub>3</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 111 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|-
|style="text-align:right"| <sub>2</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 110 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|-
|style="text-align:right"| <sub>1</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 001 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|-
|style="text-align:right"| <sub>0</sub> &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 010 &nbsp;
|style="border: 1pt black solid; text-align:center"| &nbsp; 1 &nbsp;
|}
</p>
<p>
Gegeben sei die nebenstehende komplette Seitentabelle mit zwei Spalten (ganz links ist lediglich eine Nummerierung der Zeilen).
</p>
<p>
Eine einzelner Seitenrahmen im physikalischen Adressraum habe eine Größe von 1&nbsp;KiB (= 1024 Byte).
</p>
<br />
<p>
(a)<br />
Wie groß ist eine einzelne Seite im virtuellen Adressraum?<br />
<br />
</p>
<p>
(b)<br />
Wie viele Seitenrahmen im physikalischen Adressraum gibt es laut Seitentabelle?
Woran ist das erkennbar?<br />
<br />
</p>
<p>
(c)<br />
Wie viele Seiten im virtuellen Adressraum gibt es laut Seitentabelle?
Woran ist das erkennbar?<br />
<br />
</p>
<p>
(d)<br />
Bezogen auf die Gegebenheiten dieser Aufgabe:<br />
Warum besteht eine virtuelle Adresse aus genau 15 Bit? Erläutere! <br />
<br />
</p>
<p>
(e)<br />
Gegeben sei folgende virtuelle Adresse: &nbsp; 0&nbsp;0&nbsp;0&nbsp;1&nbsp;1&nbsp;1&nbsp;0&nbsp;0&nbsp;1&nbsp;1&nbsp;0&nbsp;0&nbsp;0&nbsp;0&nbsp;1<br />
Ermittle daraus die zugehörige physikalische Adresse!<br />
<br />
</p>
<p>
(f)<br />
Gegeben sei folgende virtuelle Adresse: &nbsp; 0&nbsp;1&nbsp;0&nbsp;0&nbsp;0&nbsp;1&nbsp;0&nbsp;1&nbsp;0&nbsp;1&nbsp;0&nbsp;0&nbsp;1&nbsp;1&nbsp;0<br />
Diese kann mit Hilfe der nebenstehenden Seitentabelle nicht in die zugehörige physikalische Adresse umgerechnet werden.
</p>
<p>
Warum nicht?
</p>
<p>
Erläutere '''stichpunktartig''' den weiteren Ablauf auf dem System bis zu dem Zeitpunkt, an dem die Umrechnung endlich klappt!
</p>
</loop_task>
</loop_area>
</p>
<br />
== Aufgabe 10 ==
<p>
<loop_area type="task">
<loop_task title="Speicher und Seitentabellen" id="5fa9784390e9e">
<p>
Ein Computersystem besitze 2 GiB RAM (physikalischer Speicher). Das Betriebssystem billigt jedem Prozess 4 GiB virtuellen Speicher zu. Derzeit existieren insgesamt 10 Prozesse, die vom Betriebssystem verwaltet werden. Ein Seitenrahmen habe eine Größe von 16 KiB.
</p>
<p>
* Wieviele Seitentabellen werden in der beschriebenen Situation aktuell vom Betriebssystem verwaltet?
</p>
<p>
* Um welchen Faktor größer ist der in der beschriebenen Situation insgesamt vom Betriebssystem zugeteilte virtuelle Speicher gegenüber dem physisch im Computersystem eingebauten RAM?
</p>
</p>
</loop_task>
</loop_task>

Aktuelle Version vom 10. November 2020, 15:07 Uhr

Aufgabe 1

Aufgabe

Erläutere den grundlegenden Unterschied zwischen Swapping und Paging!


Aufgabe 2

Aufgabe

Erläutere die Funktionsweise des optimalen Seitenersetzungsalgorithmus und warum er nicht in der Praxis implementiert werden kann.


Aufgabe 3

Aufgabe

Was bedeuten die Abkürzungen LRU und NRU im Hinblick auf Seitenersetzungsalgorithmen?


Aufgabe 4

Aufgabe

Erläutere die Arbeitsweise des LRU-Algorithmus.


Aufgabe 5

Aufgabe

Erläutere die Aufgabe und Funktionsweise der NRU-Seitenersetzungsstrategie.


Aufgabe 6

Aufgabe

Bei dem NRU-Seitenersetzungsalgorithmus besteht die Seitentabelle aus (mindestens) 4 Spalten. Benenne die vier Spalten und erläutere deren jeweilige Aufgabe(n).


Aufgabe 7

Aufgabe

Wann tritt ein Seitenfehler (Page fault) auf? Erläutere die Umstände.


Aufgabe 8

Aufgabe

Die Speicherverwaltung eines Betriebssystems arbeite nach der NRU-Seitenersetzungsstrategie.

Welchen Spalten der Seitentabelle kommt bei einem Seitenfehler eine besondere Bedeutung zu?

In welcher Weise beeinflussen die möglichen Werte in diesen Spalten die Entscheidung bzgl. der Auswahl einer zum Auslagern geeigneten Seite?


Aufgabe 9

Aufgabe

31     000     0  
30     000     0  
29     000     0  
28     000     0  
27     000     0  
26     000     0  
25     000     0  
24     000     0  
23     000     0  
22     000     0  
21     000     0  
20     000     0  
19     000     0  
18     000     0  
17     000     0  
16     000     0  
15     000     0  
14     000     0  
13     000     0  
12     000     0  
11     000     0  
10     000     0  
9     000     0  
8     000     0  
7     100     1  
6     000     0  
5     000     0  
4     000     1  
3     111     1  
2     110     1  
1     001     1  
0     010     1  

Gegeben sei die nebenstehende komplette Seitentabelle mit zwei Spalten (ganz links ist lediglich eine Nummerierung der Zeilen).

Eine einzelner Seitenrahmen im physikalischen Adressraum habe eine Größe von 1 KiB (= 1024 Byte).


(a)
Wie groß ist eine einzelne Seite im virtuellen Adressraum?

(b)
Wie viele Seitenrahmen im physikalischen Adressraum gibt es laut Seitentabelle? Woran ist das erkennbar?

(c)
Wie viele Seiten im virtuellen Adressraum gibt es laut Seitentabelle? Woran ist das erkennbar?

(d)
Bezogen auf die Gegebenheiten dieser Aufgabe:
Warum besteht eine virtuelle Adresse aus genau 15 Bit? Erläutere!

(e)
Gegeben sei folgende virtuelle Adresse:   0 0 0 1 1 1 0 0 1 1 0 0 0 0 1
Ermittle daraus die zugehörige physikalische Adresse!

(f)
Gegeben sei folgende virtuelle Adresse:   0 1 0 0 0 1 0 1 0 1 0 0 1 1 0
Diese kann mit Hilfe der nebenstehenden Seitentabelle nicht in die zugehörige physikalische Adresse umgerechnet werden.

Warum nicht?

Erläutere stichpunktartig den weiteren Ablauf auf dem System bis zu dem Zeitpunkt, an dem die Umrechnung endlich klappt!


Aufgabe 10

Aufgabe

Ein Computersystem besitze 2 GiB RAM (physikalischer Speicher). Das Betriebssystem billigt jedem Prozess 4 GiB virtuellen Speicher zu. Derzeit existieren insgesamt 10 Prozesse, die vom Betriebssystem verwaltet werden. Ein Seitenrahmen habe eine Größe von 16 KiB.

  • Wieviele Seitentabellen werden in der beschriebenen Situation aktuell vom Betriebssystem verwaltet?

  • Um welchen Faktor größer ist der in der beschriebenen Situation insgesamt vom Betriebssystem zugeteilte virtuelle Speicher gegenüber dem physisch im Computersystem eingebauten RAM?