www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges" - Virtuelle Adresse und Rahmen
Virtuelle Adresse und Rahmen < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Virtuelle Adresse und Rahmen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:57 So 05.07.2009
Autor: stargate2k

Aufgabe
Sie haben in ihrem Programm ein Array der Länge 4225 Byte allokiert. Mit einem Printf
ermitteln Sie, dass das Array bei der virtuellen Adresse 0x73b0a780 beginnt.
Wieviele physikalische Rahmen benötigt das Array im Hauptspeicher? Belegen Sie ihre
Antwort rechnerisch.

hi

kann mir einer sagen wie ich das obige angehen muss ? die Lösung ist 4 Rahmen, aber wie komme ich darauf ?

oben stand noch "Sie haben einen 32bit virtuellen Adressraum und eine Rahmengröße von 2k."

mfg stargate

        
Bezug
Virtuelle Adresse und Rahmen: Antwort
Status: (Antwort) fertig Status 
Datum: 00:07 Di 07.07.2009
Autor: fabba

Hallo,

die Aufgabe könnte zwar für meinen Geschmack noch etwas genauer sein, aber das Wichtigste ist ja gegeben. Ihr werdet ja sicherlich das entsprechende Verfahren so behandelt haben, dass die gegbenen Infos ausreichen.

Die Rahmengröße ist hier das wichtigste Kriterium. Ein Frame hat laut Aufgabe 2048 Bytes. Den Rahmen des physikalischen Speichers sind ggf. Seiten im virtuellen Adressraum zugeordnet. Das geht nicht wild durcheinander, sondern immer in 2KiB-Schritten. Also 0x00000000, 0x00000800, 0x00001000, ...
sind die virtuellen Startadressen der Seiten.

Dein Array beginnt bei 0x73b0a780, der Anfang ist also in der Seite mit der Startadresse 0x73b0a000.
Bei 0x73b0a800 fängt die nächste Seite an, diese ist einem anderen Rahmen zugeordnet. Die ersten 0x80=128 Bytes des Arrays befinden sich also in einem Rahmen (Seite mit Adresse 0x73b0a000), die folgenden Bytes in einem anderen (Seite mit Adresse 0x73b0a800).
Nun ist das Array noch etwas größer als 2KiB, wird also rein inhaltlich schon mehr als einen Rahmen belegen. Die ersten 128 Bytes sind also im ersten Rahmen, bleiben noch 4225-128=4097 Bytes übrig. 4096 Bytes sind genau 2 Rahmen, das 4097e geht dann über die Grenze hinaus und braucht noch einen. Also

Indizes    virtuelle Startadresse der Seite     davon zum Array gehörend
0-127       0x73b0a000                           0x73b0a780-0x73b0a7ff
128-2175    0x73b0a800                           0x73b0a800-0x73b0afff
2176-4223   0x73b0b000                           0x73b0b000-0x73b0b7ff
4224        0x73b0b800                           0x73b0b800-0x73b0b800

... macht vier Seiten bzw. Rahmen :)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]