da das Paging bei der zweiten und dritten Online Veranstaltung (verstärkt) dran gekommen ist, gehe ich stark davon aus, dass das Thema auch in dieser Form in der Klausur dran kommt. Ich fasse mal die wichtigsten Punkte hier zusammen, dann haben auch die Leute etwas davon, die nicht bei der Online-Veranstaltung teilnehmen können.
Hier ist erst mal das Krikel-Krakel (sorry :) ) von Herrn Coltzau:
[IMG]https://img545.imageshack.us/img545/7982/37677763.png[/IMG]
Also, so eine Aufgabe könnte wie folgt aussehen:
Ein Paging-System hat einen maximalen logischen Speicher der Größe 16 GByte. Die Seitengröße beträgt 4 KByte und der maximale physische Speicher ist 4 GByte groß. Ein Abschnitt der Seitentabelle eines aktiven Prozesses hat die folgenden Einträge:
[IMG]https://img35.imageshack.us/img35/1023/65761704.png[/IMG]
An dieser Stelle gibt es keine Seitennummer. Diese braucht man aber auch nicht explizit anzugeben, da diese immer von oben nach unten mit 0 beginnend nummeriert werden. Um es einfacher zu machen, kann man sich diese selbst daneben schreiben:
[IMG]https://img39.imageshack.us/img39/8046/96845386.png[/IMG]
[U]1.) Erste Frage:[/U]
Wie groß ist eine logische Adresse? oder auch
Wie viele Bit hat eine logische Adresse?
Der logische Speicher kann maximal 16 GB groß sein, das heißt:
[tex]16 GB = 16 * 2^{10} * 2^{10} * 2^{10} = 2^4 * 2 ^{30} = 2^{34}[/tex]
Also hat eine Adresse 34 Bit.
[U]2.) Zweite Frage:[/U]
Wie groß ist ein Eintrag in der Seitentabelle? oder auch
Wie viele Bit hat ein Eintrag in der Seitentabelle?
Die Größe der Seitentabelle, also die Anzahl der Seitenrahmen, hängt von der Größe des physikalischen Speichers ab. Der physikalische Speicher wird in gleich große Rahmen (Seitenrahmen) aufgeteilt. In unserem Beispiel wird der 4 GB große physikalische Speicher in 4 KB Seitenrahmen aufgeteilt. Die Frage ist also, wie viele 4 KB Seitenrahmen passen in den 4 GB Speicher?
[tex]\frac{4 GB}{4 KB} = \frac{2^2 * 2^{30}}{2^2 * 2^{10}} = 2^{20}[/tex]
Der 4 GB Speicher wird in [tex]2^{20}[/tex] Seitenrahmen a 4 KB aufgeteilt. Der Eintrag in der Seitentabelle hat 20 Bit.
[U]3.) Dritte Frage:[/U]
Welche physische Adresse hat die logische Adresse 4097?
Zum Verständnis: Die Seitennummern sind wie oben angegeben durchnummeriert. Da die Seitengröße 4KB, also 4096 Byte beträgt, sind so auch die logischen Adressen durchnummeriert:
[IMG]https://img193.imageshack.us/img193/8370/28474951.png[/IMG]
Die Adresse 4097 liegt offensichtlich in der Seite mit der Nummer 1, die Seitenrahmennummer der ersten Seite ist 2. Jetzt fehlt aber noch das Offset, innerhalb der Seite wird weiter unterteilt:
Beim Suchen der phyischen oder logischen Adresse wird immer durch die Seitengröße mit Rest geteilt. Die logische Adresse ist 4097, die Seitengröße 4096.
[tex]\frac{4097}{4096} = 1 Rest 1[/tex]
Die 1 vor dem Rest bedeutet, dass die Adresse in der Seite mit der Nummer 1 (wie oben festgestellt) liegt. Die 1 hinter dem Rest ist das Offset. Diese wird für die weitere Adressierung verwendet: Da die Seitenrahmennummer der ersten Seite 2 ist, wird 2 mit der Seitengröße multipliziert und danach noch das Offset addiert.
[tex]2 * 4096 + 1 = 8193[/tex]
Die logische Adresse 4097 wird demnach auf die physische Adresse 8193 abgebildet.
Wem das noch zu kryptisch ist, der kann auch noch (für das Verständnis) auf der rechten Seiten den Adressraum hinzufügen:
[IMG]https://img840.imageshack.us/img840/5015/55582845.png[/IMG]
Daran erkennt man, dass eine logische Adresse zwischen 4096 und 8191 auf eine physische Adresse zwischen 8192 und 12287 abgebildet wird. Um die genaue physische Adresse zu erfahren, wird das Offset verwendet.
[U]4.) Vierte Frage:[/U]
Welche logische Adresse wird auf die physische Adresse 10020 abgebildet?
Die physische Adresse wird durch die Seitengröße dividiert:
[tex]\frac{10020}{4096} = 2 Rest 1828[/tex]
Die physische Adresse 10020 liegt im Seitenrahmen mit der Nummer 2 und Offset 1828. Da die logische Seite 1 auf Seitenrahmen 2 abgebildet wird, wird 1 mit der Seitengröße multipliziert und das Offset dazu addiert:
[tex]1 * 4096 + 1828 = 5924[/tex]
Die physische Adresse 10020 wird demnach auf die logische Adresse 5924 abgebildet.
[U]5.) Fünfte Frage:[/U]
Welche logische Adresse wird auf die physische Adresse 12288 abgebildet?
Die physische Adresse wird durch die Seitengröße dividiert:
[tex]\frac{12288}{4096} = 3 Rest 0[/tex]
Die physische Adresse 12288 liegt im Seitenrahmen mit der Nummer 3 und Offset 0.
Ein Blick in die Seitentabelle der Aufgabenstellung lässt erkennen, dass dieser Eintrag nicht vorhanden ist. Als Antwort:
Seitenrahmennummer 3 wurde noch nicht in die Seitentabelle eingelagert.
Das war's.
Hoffentlich ist es Einigen eine Hilfe ;)
LG,
Mo
P.S.: Wenn jemand einen Fehler sieht, bitte Bescheid sagen, dann kann ich das korrigieren.
Comments
saschkai
Contributions on this page: 15
View profileNoch eine Anmerkung: Eine Seite passt genau in einen Seitenrahmen, d.h:
Seitengröße = Rahmengröße,;)
Wenn man das weiß ist man nicht verwirrt wenn die Angaben in der Fragestellung abweicht.
In der EA war z.B. die Seitengröße gegeben und im Beispiel der Onlineveranstaltung die Rahmengröße.
Lg
Sascha
saschkai
Contributions on this page: 15
View profileVielleicht, hat sich auch noch jemand außer mir gefragt, was mit dem logischen Speicherbereich ist, dem kein physischer Speicher zugewiesen ist. Vielleicht wurde die Frage auch zur Onlineveranstaltung gestellt, ich musst aber schon eher gehen. Jedenfalls, hab ich mich gefragt, was passiert, wenn eine logische Adresse aufgerufen wird, der kein physicher Speicher zugeordnet werden kann,weil der ja kleiner ist als der logische. Hab bei Wiki eine Antwort darauf gefunden:\
Moritz
Contributions on this page: 8
View profileSascha,
genau. Mir ist noch aufgefallen, dass das bei einer Aufgabe so aussehen kann:
[IMG]https://img860.imageshack.us/img860/7103/12445323.png[/IMG]
Wenn hier versucht wird, die Seite 2 zu adressieren, wird ein Interrupt ausgelöst, da es keine Seitenrahmennummer zur Seite 2 gibt (deswegen der Strich an dieser Stelle in der Tabelle).
Der Interrupt ist übrigens ein Hardware-Interrupt.
LG,
Mo
Cronkalonca
Contributions on this page: 2
View profileHast du sonst noch Tips, welche Themen etwas mehr Aufmerksamkeit bekommen haben und daher wahrscheinlich in der Klausur sind?
Moritz
Contributions on this page: 8
View profileWiederholt wurden noch Interrupts (das wurde wirklich tot-gekaut) und Semaphoren. Denke also, dass diese beiden Themen drankommen.
LG,
Mo
michaelffm
Contributions on this page: 1
View profileInterrupts und Semaphoren - wer das in der Klausur verhaut, der ist selbst Schuld - nachdem das in den EAs und JEDER Onlineveranstaltung durchgenommen wurde
Cronkalonca
Contributions on this page: 2
View profileBei Interrupts hab ich irgendwie das Gefühl das ich was übersehen habe. Hab hauptsächlich die EA-Aufgabe mit den Beispielen für die Interrupts HW/SW. Ansonsten gibts da doch nicht viel zu sagen oder? Werd mir die Stelle in der KE nochmal durchlesen
Moritz
Contributions on this page: 8
View profileDer Beipackzettel fasst die Interrupts sehr gut zusammen.
[url]https://vu.fernuni-hagen.de/lvuweb/lvuauth/file/FeU/EITech/2011WS/20047/material/ungetaktet/Beipackzettel_zu_EA1.pdf[/url]
LG,
Mo
Bonkel
Contributions on this page: 9
View profileHi,
welche Ergebnisse hast du bei der dazugehörigen Aufgabe raus?
Will mal schauen, ob ich das jetzt pack
Bonkel
Contributions on this page: 9
View profileHätte:
a) 2^35
b) 2^21
c) siehe deine Lösung, es wird ein Interrupr ausgelöst
Meine Frage, wie geht man das mit den 16KB Seitengröße bei d) und e) genau an? Bei 1024 war mir das in den Übungsaufgaben immer klar
saschkai
Contributions on this page: 15
View profile[INDENT=1][QUOTE]Meine Frage, wie geht man das mit den 16KB Seitengröße bei d) und e) genau an? Bei 1024 war mir das in den Übungsaufgaben immer klar [/QUOTE][/INDENT]
[INDENT=1] [/INDENT]
[INDENT=1]ich weiß nicht genau welche Aufgabe du meinst aber wenn die seitengröße 16 KB ist,[/INDENT]
[INDENT=1]dann teilst du den logischen Speicher durch 16 KB (= 2^12 = 4096) um die max. länge der seitentabelle zu ermitteln, und physikalisch.Speicher durch 16 KB um die Anzahl der Einträge bzw. länge physikalische Adresse in der Tabelle zu ermitteln.[/INDENT]
[INDENT=1]:D[/INDENT]
Bonkel
Contributions on this page: 9
View profileAh danke! Ich stand auf den Schlauch! Es ging um die Aufgabe wo die oben gepostete Tabelle dazu gehört! Das war ne Klausuraufgabe, die in der 2ten Online-Veranstaltung durchgenommen wurde. Diese hatte zwar einen Fehler in der Aufgabenstellung, aber ich wollte sie dennoch mal durchgehen :)
edit:
Müßten doch 2^14 sein, oder? (also 16384KB). Weil 4096 sind es doch bei 4KB Seitengröße (2^12)
saschkai
Contributions on this page: 15
View profilekannst du mir die aufgabe mal schicken oder die frage konkretisieren? danke : [email]uni@frehse.net[/email]
Bonkel
Contributions on this page: 9
View profileHast Post
saschkai
Contributions on this page: 15
View profileja grad geöffnet:
a) 32GB / 16KB = 32x2^30 /16x2^10=2x2^20=2^21
es gibt also 2^21 mögliche logische Adressen.
b) 4GB / 16KB = 2^32/2^14 = 2^18
es gibt also 2^18 seitenrahmen. es sind also 2^18 der möglichen Adressen
belegt. die adresslänge der physikalischen Adress ist 18 Bit
rest folgt gleich.
Bonkel
Contributions on this page: 9
View profileDanke! Wie gesagt: Bedenke, dass die Aufgabe nen Fehler in der Aufgabenstellung hat!
saschkai
Contributions on this page: 15
View profilec) logische Adresse 2201 / 16384 = 0 --> Adresse steht auf Seite 0, Wort 2201 --> Seite 0 steht im Rahmen 3 laut Tabelle --> (3x16384)+2201 = Wort 51353 ist physikalische Adresse
saschkai
Contributions on this page: 15
View profiled) 22001 / 16384 = 1 Rest 5617 -->Rahmen 1 Wort 5617 -->Rahmen 1 nicht in Tabelle --> Fehlzugriff
Nachtrag- Fehlzugriff ist hier das falsche Wort. Wir können die logische Adresse nicht ermitteln, weil der Eintrag in der Tabelle fehlt, wir also nicht wissen welche Seite im Rahmen 1 steckt.
Bonkel
Contributions on this page: 9
View profileHierzu nochmal ne Frage/Anmerkung:
Hast du hier bei a) nicht die maximalen Einträge in der Seitentabelle ausgerechnet? (logischer Speicher / Seitengröße), denn die Bit der logischen Adresse bei einer Wortgröße von 1 Byte ist doch einfach der logische Speicher (32 GB) in 2er Potenz, also 2^35?
Jedenfalls wenn ich hier nach der Einsendearbeit gehe!
Moritz
Contributions on this page: 8
View profileVorsicht!
Wenn es darum geht, Seiten zu adressieren, musst Du wie angegeben die Größe des logischen Speichers durch die Seitengröße teilen und davon den Logarithmus Dualis bilden.
Die maximalen Einträge errechnen sich aus dem physischen Speicher geteilt durch die Seitengröße.
Lg,
Mo
saschkai
Contributions on this page: 15
View profilehola die waldfee :D Logarithmus Dualis :D na wenn das mal nicht nach uni klingt:D
liebe grüße
Moritz
Contributions on this page: 8
View profilehaha sascha :D
ich habe das gestern auch zum ersten Mal in den Musterlösungen gelesen.. Habe mir das mal auf den Spicker geschrieben, damit lässt sich bestimmt Punkten :cool:
LG,
mo
Bonkel
Contributions on this page: 9
View profileDas ist aber in der EA2, Aufgabe 1 anders, oder bin ich jetzt komplett durcheinander?
Frage:
Wie viele Bit hat eine logische Adresse, wenn jedes Wort 1 Byte lang ist?
Antwort:
Logischer Speicher (16 MB) als Dualzahl, also 2^24
Frage:
Wie viele Einträge hat eine Seitentabelle maximal?
Antwort:
logischer Speicher (16MB) geteilt durch Seitengröße (1024 Byte), also 2^14 Seiten. Es gibt maximal 2^14 Einträge in einer Seitentabelle.
Frage:
Wie viele Bit hat ein Eintrag in der Seitentabelle?
Antwort:
physischer Speicher (2MB) geteilt durch Seitengröße (1024 Byte), also 2^11 Seitenrahmen, Also hat jeder Eintrag in der Seitentabelle mind. 11 Bit.
saschkai
Contributions on this page: 15
View profileHey
saschkai
Contributions on this page: 15
View profileHey Bonkel, ich hab meinen vorigen Eintrag gelöscht,\
Das ist richtig bezogen auf die Frage in der EA nach der Größe der logischen Adresse.
Wie schon gesagt ist dies Größe aber nicht zu verwechseln mit der Größe der Seiteneinträge.
Moritz
Contributions on this page: 8
View profileHi Bonkel,
dann passt doch alles.
Wenn Du bei der ersten Frage durch "1" teilst, ändert sich nichts am Ergebnis!
LG,
Mo
Moritz
Contributions on this page: 8
View profileFalls es zu unverständlich war:
Wenn Du 2^24 durch 1 (1 Byte Wort), sind es immer noch 2^24.
LG,
MO
saschkai
Contributions on this page: 15
View profilesorry für die Verwirrung durch meinen obigen Eintrag:\
Das ist die maximale Anzahl logischer Adressen. Gefragt war aber danach wieviel Bit eine logische Adresse hat. Sorry.
saschkai
Contributions on this page: 15
View profileentschuldigt, ich nochmal um um das ganz richtig zu stellen:
Ja, hab ich :( sorry mein Fehler.
Bonkel
Contributions on this page: 9
View profileDanke euch beiden erstmal, ich fasse zusammen:
Bit einer logischen Adresse: logischer Speicher / Wortgröße
max. Einträge Seitentabelle: logischer Speicher / Seitengröße
Bit eines Eintrags in Seitentabelle: physischer Speicher / Seitengröße
Physische Adresse von logischer Adresse ermitteln:
(Adresse / Seitengröße) = Seiten (und Ofset), anschließend Seitenrahmen ermitteln
Seitenrahmen * Seitengröße + Ofset
Logische Adresse von physischer Adresse ermitteln:
(Adresse / Seitengröße) = Seitenrahmen (und Ofset), anschließend Seite ermitteln
Seite * Seitengröße + Ofset
saschkai
Contributions on this page: 15
View profileNein da lagst du vorher richtig. Ich hatte da einen Fehler.
Bit einer logischen Adresse ist log2( Größe des logischen Speichers).
Nachtrag: ach da steht ja wortgröße, dass passt freilich.
wenn logischer Speicher 16MB ist, gibt es bei seitengröße von 1024 Byte 2^14 Seiten
von den Bit der logischen Adresse log2(16MB)=24 entfallen 14Bit auf die Seitenauswahl 10Bit auf die Adresse innerhalb der Page.
saschkai
Contributions on this page: 15
View profileRichtig.
Bonkel
Contributions on this page: 9
View profileDanke! Das hab ich mir jetzt alles so notiert! Dann dürfte nichts mehr schiefgehen :) Unklarheiten beseitigt :) Jetzt mach ich noch ein paar andere Themen und besteht das Ding Samstag in Frankfurt
saschkai
Contributions on this page: 15
View profilesorry nochmal wegen der falschen lösung zu a) der zugesandten aufgabe. hab das oben nochmal eingetragen wie sich die logische adresse aus speichertabellenindex und wortadresse zusammen setzt.