Tach,
Also es gibt ja zwei Möglichkeiten:
Logische in physische Adresse umwandeln.
Physische Adresse in logische Adresse umwandeln.
Du hast da auch immer ne Tabelle bei stehen, sowas z.b:
Seitennummer: Seitenrahmenummer:
0 2
1 3
2 1
3 0
4 5
Im 1. Fall hast du es so, das du ne logische Adresse gegeben hast.
Nehmen wir mal spaßeshalber an, die hätte den Wert 4122.
Nehmen wir ferner an, die Seitengröße betrage 2 Kilobyte = 2048 Byte.
1.1) Teile die Adresse durch die Seitengröße: 4122/2048 = 2 Rest 26
1.2) Suche aus der gegebenen Tabelle den Seitenrahmen heraus. Hier ist das für Seite 2 also Seitenrahmen 1.
1.3) Multipliziere den Seitenrahmen mit der Seitengröße und addiere das offset: 1*2048+26 = 2074.
Im zweiten Fall wäre das umgekehrt. Nehmen wir nochmal denselben Wert:
2.1) Teile die Adresse durch die Seitengröße: 4122/2048 = 2 Rest 26
2.2) Suche aus der gegebenen Tabelle die Seitennummer heraus. Hier ist das für Seitenrahmen 2 also Seitennummer 0.
2.3) Multipliziere die Seitennummer mit der Seitengröße und addiere das offset: 0*2048+26 = 26.
Meistens kommen da noch irgendwelche Zusatzfragen(z.b. wie viele Bits haben eine logische Adresse, wie viele Bits hat ein Seiteneintrag in der Tabelle etc.) , mal verändern die die Parameter, aber im Grunde bleibt das gleich.