Entwickler-Ecke

Sonstiges (.NET) - Heap <-> Virtellen Speicher ?


Nuckey - Sa 14.05.11 17:16
Titel: Heap <-> Virtellen Speicher ?
wie verhält sich der speichermanager in bezug virtuellenspeicher ?


ich arbeite mit meinen program ,mit einigen tausend datensätzen die leicht einige mb gross werden können,

wird virt. speicher angefordert ? oder ist es möglich Selber (ausser direkt kernel32.dll) Speicher über Sharp anzufordern ?

mfg nuckey


Moderiert von user profile iconKha: Topic aus C# - Die Sprache verschoben am Sa 14.05.2011 um 17:31


Kha - Sa 14.05.11 17:31

Dein Prozess wird nie etwas anderes als virtuellen Speicher zu Gesicht bekommen. Ich glaube, du solltest das Wort noch einmal nachschlagen und dann neu formulieren, was du uns wirklich fragen wolltest.

Generell wäre es schön, wenn du beim Schreiben deiner Beiträge etwas sorgfältiger vorgehen würdest. Wenigstens eine fehlerfreie Überschrift sollte doch nicht zu viel verlangt sein.


Nuckey - Sa 14.05.11 20:46

jep hast recht ,sieht etwas merkwürdig aus,narf ;)

der eigentliche gedanke ,dreht sich um das speichermanagment von sharp,wie geht dieser mit dehm speicher um,bei steigender alloc. von speicher ,deren daten auf dehm "heap" liegen.

so in der richtung

gruss nuckey


Yogu - So 15.05.11 15:35

Hallo,

um die Begrifflichkeiten zu klären: mit "Sharp" meinst du schon .NET, oder? Und statt virtuellem Speicher solltest du eher ausgelagerter Speicher schreiben, wenn ich dich richtig verstanden habe. Virtuelle Speicherverwaltung [http://de.wikipedia.org/wiki/Virtuelle_Speicherverwaltung] bezeichnet die Technik, die physikalischen Adressen des Arbeitsspeicher auf die einzelnen Prozesse zu verteilen, und wird immer angewendet. Ausgelagerter Speicher ist derjenige, der auf der Festplatte liegt.

Jetzt zu deiner Frage: Ein paar Megabyte sind doch nicht viel; Firefox zum Beispiel benötigt bei mir ein paar hundert davon. Auf modernen Rechnern sollte da eigentlich nichts ausgelagert werden. Und es wird dir auch nichts bringen, direkt Speicher anzufordern (wie in Delphi und C++ recht einfach möglich), da dieser Speicher auch ausgelagert werden kann. Direkten Zugriff auf die RAM-Bausteine wirst du, wie user profile iconKha schon geschrieben hat, nie bekommen, da die Virtualisierung des Adressraums schon hardwaremäßig implementiert ist.

Grüße,
Yogu


Nuckey - So 15.05.11 19:49

na ja irgenwie hat sich der begriff Virt. Speicher gleichgesetzt mit der auslagerungsdatei ,was ja mit einem auge zudrücken durch gehen könnte ;)

die frage hat sich insoweit erledigt ,da die grundantwort kha lieferte,muste ich ebend halt noch mal mein dickes assemblerbuch rausholen und da nachschlagen ,in bezug Virt. Speicher.


mfg nuckey


Kha - So 15.05.11 20:21

user profile iconNuckey hat folgendes geschrieben Zum zitierten Posting springen:
na ja irgenwie hat sich der begriff Virt. Speicher gleichgesetzt mit der auslagerungsdatei
Da muss ich leider sagen: Nur von Leuten, die weder mit dem einen noch dem anderen Begriff etwas anfangen können ;) .

user profile iconNuckey hat folgendes geschrieben Zum zitierten Posting springen:
was ja mit einem auge zudrücken durch gehen könnte ;)
Hmm.. nein. :zwinker:

user profile iconNuckey hat folgendes geschrieben Zum zitierten Posting springen:
muste ich ebend halt noch mal mein dickes assemblerbuch rausholen und da nachschlagen ,in bezug Virt. Speicher.
Das hat mit Assembler nichts zu tun, da kannst du auch zu jeder anderen Literatur greifen :) .


Nuckey - Mo 16.05.11 18:34

da ist meine andere literatur ;)

im assembler steht die ganze sache drinne ,so ziemlich ausführlich

na ja und ein auge reicht ,da unter umständen der virtuelle Speicher auch die pages auf die auslagerungsdatei legt oder so in der richtung.

mfg nuckey