PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vista - Wieviel von 4GB RAM kann Vista 32bit verwenden?


Gast #12
2007-02-22, 15:48:23
Hallo,

wenn ich 4 GB RAM auf ein Intel P965 Brett stecke, wieviel davon kann Vista 32bit verwenden?

Danke & Gruss!

looking glass
2007-02-22, 15:53:17
Kommt drauf an, wieviel Speicher die restlichen verbauten Komponenten ala Soundkarte, Grafikkarte etc. mitbringen, zudem kann man doch mit ein paar Kniffen das nicht noch oben ran hängen, mir war so, als ob ich letzens erst was drüber gelesen habe...

HisN
2007-02-22, 15:59:43
Stimmt so wie mein Vorredner es gesagt hat, ist vom Chipsatz und verbauter Hardware sowie vom Bios abhängig.

Wenn Du Crossfire Betreibst noch 2GB :-)

Will meinen ich hab schon so ziemlich alle Werte zwischen 2GB (Nforce4 mit 2x7800GT im SLI) und 3,75 (Pentium4/AGP mit AGP-Size auf 32MB) gesehen.

Colin MacLaren
2007-02-22, 16:22:44
Wie man sich einen Rechner mit 4Gb RAM bauen kann aber sich trotzdem noch gegen 64-Bit sträuben ist mir ein Rätsel...

Gast
2007-02-22, 16:24:15
Hmmm... Danke...

Ist ne nVidia 7600GT PCIe 256MB drauf und ne SB Audigy 2.

Jemand ne Ahnung wie das damit ist?

Undertaker
2007-02-22, 16:50:23
was sehr interessant ist: von meinen 4gb sind unter xp 32bit 3,5gb verfügbar, trotz 640mb grafikkarte...?

Don Vito
2007-02-22, 17:40:02
Bei mir bleiben knapp 2,25 übrig unter 32Bit....
Raidcontroller 128MB
Soundkarte 64MB
Grafikkarten 1532MB
zsuammen 1722MB:eek: :eek:
Naja egal hab 64Biot-Os seit nunmehr knapp 3 Jahren....
XP 32 läuft nur für Vergleichsbenchmarks und meinen Canonscanner....der sich weigert unter 64Bit seinen Dienst anzutreten

Kosh
2007-02-22, 22:39:47
Ähm,kann mir das mal jemand erklären?

Von 4 GB gehen 128 MB für die Soundkarte weg,1536 brauchen die Grafikkarten??

Wieso brauchen die denn Ram??
Klar,bissel RAM für die Treiber ist ist klar, aber warum sind zB 128 MB RAM bei der Soundkarte weg?

Gast
2007-02-22, 22:42:46
Die sind nicht weg. Er hat wahrscheinlich ne Soundkarte mit eigenem Speicher, der ja auch irgendwie adressiert werden muss. Die meisten SKs haben das nicht.

Passenger82
2007-02-22, 22:45:57
Ähm,kann mir das mal jemand erklären?

Von 4 GB gehen 128 MB für die Soundkarte weg,1536 brauchen die Grafikkarten??

Wieso brauchen die denn Ram??
Klar,bissel RAM für die Treiber ist ist klar, aber warum sind zB 128 MB RAM bei der Soundkarte weg?

Es geht um die Speicheranzahl, welche adressierbar ist. Unter 32bit kann man 4 GB Speicher adressieren. Wenn du 2x 8800GTX mit insgesamt 1500MB VRAM drin hast, geht schon mal knapp die Hälfte des adressierbaren Bereiches für VRAM drauf. Der Arbeitsspeicher (RAM) holt sich dann dass, was übrig bleibt. Also 4GB-1,5GB = 2,5 GB. Wenn noch weitere Komponenten mit Speicher verbaut sind, mindert das auch die Adressenbereich.
VRAM usw. klaut nicht den Arbeitsspeicher an sich, sondern vielmehr die Adressen, welche dem Arbeitsspeicher zugewiesen werden können.

Undertaker
2007-02-23, 14:17:15
warum kann mein 32bit xp dann 3,5gb nutzen? das sind ja mit dem grafikspeicher dann 4224mb??? :confused:

PatkIllA
2007-02-23, 14:21:45
warum kann mein 32bit xp dann 3,5gb nutzen? das sind ja mit dem grafikspeicher dann 4224mb??? :confused:
Windows gibt die MB falsch an.
Du kannst 4 GiB = 4096 MiB = 4194304 kiB = 4294967296 Bytes mit dem 32 Bit Adressraum nutzen.
3,5 GB + 640 MiB = 4171088640 Bytes. Passt also noch.

Gast
2007-02-23, 14:25:21
Hallo,

wenn ich 4 GB RAM auf ein Intel P965 Brett stecke, wieviel davon kann Vista 32bit verwenden?

Danke & Gruss!

Das kommt darauf an wieviel RAM deine übrige Peripherie "mappt". Wenn z.B. deine Grafikkarte 512MB Speicher hat, kannst du die von den 4GB schonmal ganz sicher abziehen. Das geht mit allen anderen Dingen auch so -> USB, RS232, DISKETTENLAUFWERK, usw.

Monger
2007-02-23, 14:53:51
warum kann mein 32bit xp dann 3,5gb nutzen? das sind ja mit dem grafikspeicher dann 4224mb??? :confused:

Ich würde den Wert nicht ernst nehmen. Ich weiß z.B. nicht, ob Windows ständig alle Speicherbereiche mappt, selbst wenn sie nicht gebraucht werden. Kann sein, dass es da schon etwas dynamischer ist. Das heißt aber nicht, dass es nicht krachen kann, wenn man mal irgendwas speicherintensives laufen lässt.

TigersClaw
2007-02-23, 14:58:23
Sind bei 64Bit Windows die vollen 4GB Ram verfügbar?

PatkIllA
2007-02-23, 15:00:08
Sind bei 64Bit Windows die vollen 4GB Ram verfügbar?Solange der Speichercontroller es hinbekommt die von der Hardware überlagerten Bereich auf den Bereich ab 4 GiB umzumappen schon.

Spasstiger
2007-02-23, 15:03:51
Man muss auch bedenken, dass der Windows-Kernel selbst sich 1-2 GB vom virtuellen Adressraum genehmigt, je nachdem ob der /3GB-Parameter in der boot.ini gesetzt wurde oder nicht (zumindest unter WinXP gibts den Parameter). Für Anwendungen bleiben dann auch nur noch 2-3 GB vom virtuellen Adressraum übrig. D.h. selbst wenn abzüglich der anderen Komponenten noch 3,5 GB an virtuellem Adressraum übrig bleiben würden, kann man nicht mehr als 3 GB für einzelne Anwendungen nutzen. Auch nicht mit PAE (physical adress extension, um mehr als 4 GB RAM ansteuern zu können).

HOT@Gast
2007-02-23, 17:37:48
1.) der Speichercontroller hat damit nichts zu tun, der Prozesor muss selber dazu in der Lage sein
2.) Geräte auf Mainboards reservieren sich Adressbereiche, weil sie diese potenziell benutzen können. Somit werden auxh die 3GB für Anwendungen hinfällig. Auf vielen Boards kann man den Prozess-Adressraum nichtmal auf 2,1GB ausweiten, ohne, dass es zu Abstürzen kommt.

XP/Vista32 + 4GB = absolut nutzlos.

TigersClaw
2007-02-23, 17:44:59
Solange der Speichercontroller es hinbekommt die von der Hardware überlagerten Bereich auf den Bereich ab 4 GiB umzumappen schon.

Auf i975er Boards sollte das der Fall sein, korrekt?

Spasstiger
2007-02-23, 17:49:02
Auf vielen Boards kann man den Prozess-Adressraum nichtmal auf 2,1GB ausweiten, ohne, dass es zu Abstürzen kommt.
Das Setzen des /3GB-Parameters kann also zu Stabilitätsproblemen führen?
Sollte man vielleicht wissen, bevor man das als Tipp im Forum verbreitet.

Rooter
2007-02-23, 18:01:36
Es geht um die Speicheranzahl, welche adressierbar ist. Unter 32bit kann man 4 GB Speicher adressieren. Wenn du 2x 8800GTX mit insgesamt 1500MB VRAM drin hast, geht schon mal knapp die Hälfte des adressierbaren Bereiches für VRAM drauf. Der Arbeitsspeicher (RAM) holt sich dann dass, was übrig bleibt. Also 4GB-1,5GB = 2,5 GB. Wenn noch weitere Komponenten mit Speicher verbaut sind, mindert das auch die Adressenbereich.
VRAM usw. klaut nicht den Arbeitsspeicher an sich, sondern vielmehr die Adressen, welche dem Arbeitsspeicher zugewiesen werden können.Verstehe ich das richtig dass im Fall von z.B. Don Vito fast die Hälfte des Speichers schlicht brach liegt und er mit "nur" 2 GB RAM praktisch genau so weit wäre wie jetzt !? :eek:

MfG
Rooter

Gast
2007-02-23, 18:06:23
Ja Rooter, das stimmt so.

StefanV
2007-02-23, 18:12:31
Das Setzen des /3GB-Parameters kann also zu Stabilitätsproblemen führen?
Sollte man vielleicht wissen, bevor man das als Tipp im Forum verbreitet.
Yep, kann durchaus dazu führen, das was absemmelt.

Das hänt auch maßgeblich von den verbauten KOmponenten (insbesondere Grafikkarte und deren Speicher) ab...

HisN hatte da mal was zu geschrieben, er hatte mit seinen 2 7800 oder 7900 Probleme damit...

HisN
2007-02-23, 18:16:16
Jupp mit 2x7800gt auf Nforce4 und 4GB Speicher führe das Umstellen im Bios beim Schalter "Remap HW over 4GB" zu einem NOBOOT schon beim Bootloader von XP64 BEVOR überhaupt nen Treiber geladen wurde.

KRASS Stefan ist das lange her *g* Dass Du Dich noch daran erinnerst.

Kosh
2007-02-23, 18:33:15
Es geht um die Speicheranzahl, welche adressierbar ist. Unter 32bit kann man 4 GB Speicher adressieren. Wenn du 2x 8800GTX mit insgesamt 1500MB VRAM drin hast, geht schon mal knapp die Hälfte des adressierbaren Bereiches für VRAM drauf. Der Arbeitsspeicher (RAM) holt sich dann dass, was übrig bleibt. Also 4GB-1,5GB = 2,5 GB. Wenn noch weitere Komponenten mit Speicher verbaut sind, mindert das auch die Adressenbereich.
VRAM usw. klaut nicht den Arbeitsspeicher an sich, sondern vielmehr die Adressen, welche dem Arbeitsspeicher zugewiesen werden können.

Ähm, und wenn ich 1 GB RAM im PC hätte und ich im SLI Verband zwei 640 MB GTS hätte, hätte ich dann null Speicher mehr für andere Anwendungen??

Arbeite seit über 10 Jahren mit Windows,aber das höre ich zum ersten mal.

Dachte Win Xp 32bit kann ca 3.2 GB Speicher verwalten und egal was ich sonst noch verbaue, ich habe ein System das 3.2 GB RAM hat.

Aber so wie sich das liest,habe ich statt 3.2 GB RAM je nach Hardware nur 500 MB noch.

Gast
2007-02-23, 18:36:15
Ähm, und wenn ich 1 GB RAM im PC hätte und ich im SLI Verband zwei 640 MB GTS hätte, hätte ich dann null Speicher mehr für andere Anwendungen??

Nein, es geht ja um den Adressraum.

Dachte Win Xp 32bit kann ca 3.2 GB Speicher verwalten und egal was ich sonst noch verbaue, ich habe ein System das 3.2 GB RAM hat.

Windows verwaltet mehr. Aber weil der Adressraum nicht groß genug ist, werden die verwendeten Komponenten davon abgezogen.

PatkIllA
2007-02-23, 18:37:28
Jupp mit 2x7800gt auf Nforce4 und 4GB Speicher führe das Umstellen im Bios beim Schalter "Remap HW over 4GB" zu einem NOBOOT schon beim Bootloader von XP64 BEVOR überhaupt nen Treiber geladen wurde.

KRASS Stefan ist das lange her *g* Dass Du Dich noch daran erinnerst.
Mappt der dann die Hardware auf Adressen über 4 GiB?

HisN
2007-02-23, 18:38:39
Ähm, und wenn ich 1 GB RAM im PC hätte und ich im SLI Verband zwei 640 MB GTS hätte, hätte ich dann null Speicher mehr für andere Anwendungen??

Arbeite seit über 10 Jahren mit Windows,aber das höre ich zum ersten mal.

Dachte Win Xp 32bit kann ca 3.2 GB Speicher verwalten und egal was ich sonst noch verbaue, ich habe ein System das 3.2 GB RAM hat.

Aber so wie sich das liest,habe ich statt 3.2 GB RAM je nach Hardware nur 500 MB noch.


Du könnstes auch von oben an lesen und nicht nur die letzten zwei Posts, dann würde Dir der Unterschied aufgehen.
Nur wenn sich der Adressraum von Deinem Speicher und der Adressraum von Deiner Hardware überlappen, dann blendet die Hardware den Adressraum vom Speicher aus. Und das passiert erst ab einer bestimmten Speichermenge, normalerweise ist das mehr als 3GB.

Spasstiger
2007-02-23, 20:25:54
Ähm, und wenn ich 1 GB RAM im PC hätte und ich im SLI Verband zwei 640 MB GTS hätte, hätte ich dann null Speicher mehr für andere Anwendungen??

Arbeite seit über 10 Jahren mit Windows,aber das höre ich zum ersten mal.

Dachte Win Xp 32bit kann ca 3.2 GB Speicher verwalten und egal was ich sonst noch verbaue, ich habe ein System das 3.2 GB RAM hat.

Aber so wie sich das liest,habe ich statt 3.2 GB RAM je nach Hardware nur 500 MB noch.
Du scheinst das Konzept des virtuellen Speichers nicht zu kennen bzw. du scheinst überhaupt nicht mit der Thematik vertraut zu sein, wie Speicher adressiert wird.
Der Prozessor kann ja nicht irgendwo im Speicher rummurksen, er muss schon wissen, an welcher Stelle im Speicher er arbeiten soll. Und die Adresse wird vom Betriebssystem mitgeteilt. Die Adressen, die von Programmen geliefert werden, sind nur virtuelle Adressen, das Betriebssystem übersetzt diese dann in reale, physikalische Adressen.
Ein 32-Bit-System kann maximal 2^32 = 4 Milliarden verschiedene Adressen verwalten. Und da heutzutage an jeder Adresse 1 Byte gespeichert wird, sind es eben 4 Gigabyte, die maximal verwaltet werden können. Das Betriebssystem ist jetzt natürlich auch so schlau und nutzt diese 4 Gigabyte auch aus, selbst wenn viel weniger Arbeitsspeicher physikalisch vorhanden ist. Das Betriebssystem kann nun innerhalb dieser 4 Gigabyte virtuelle Adressräume für die verschiedenen laufenden Programme anlegen. Jedes Programm arbeitet nur in seinem eigenen virtuellen Adressraum.
Das Betriebssystem sorgt für den Rest, so dass die virtuellen Adressräume irgendwie auf den physikalischen Speicher abgebildet werden. Das ist den Programmen aber schnuppe.

Problem ist jetzt, dass das Betriebssystem auch Speicheradressen für die Grafikkarte oder für die Soundkarte und andere Geräte verwalten muss. Von den 4 Gigabyte fallen damit schonmal ein paar hundert MB weg (im Extremfall auch mal 1,75 Gigabyte wie bei Don Vito).
Der Windows-Kernel selbst reserviert sich standardmäßig sogar 2 Gigabyte vom virtuellen Adressraum. Irgendwo muss ja auch gespeichert werden, welche virtuellen Adressen auf welche physikalischen Adressen abgebildet werden, das fällt ja nicht vom Himmel.

Damit bleiben von den 4 Gigabyte nur noch 2 Gigabyte, die von Programmen genutzt werden können. Diese 2 Gigabyte im virtuellen Adressraum werden auf maximal 2 Gigabyte physikalischen Speicher abgebildet. Erst wenn man mehr als 2 Gigabyte Speicher hat, liegt physikalischer Speicher brach.
Bei 2 Gigabyte physikalischen Speichers und weniger ist alles in Butter, das Betriebssystem hat dann noch genug virtuelle Adressen frei, um den gesamten physikalischen Speicher abzudecken.

Don Vito
2007-02-23, 20:41:53
so wie mein Vorresdner es sychildert siehts aus....
Der Speicher ist zwar da kann aber nicht angesprochen werden da die Adressen schon an andere Komponenten (z.B. bei mir Grakas, Sound- und Raidkarte)vergeben wurde...somit ist der restliche Speicher quasi verweist

Kosh
2007-02-24, 13:35:27
@Spasstiger,danke für deine Erklärung,jetzt habe ich es auch kapiert.

Man hat also insgesamt max 4 GB an Speicher im PC zur Verfügung.

Wusste nicht,das zB Grafikkartenspeicher wegen der Adressierung mit einbezogen wird.

Hat man also 4 GB RAM im PC und nur eine 32 MB Grafikkarte, hätte man fast 4 GB RAM zur Verfügung.

Bei 4 GB RAM und eine GTX SLI karte mit 2* 768 MB, dann hätte man effektiv nur noch 2,5 GB RAM und 1.5 GB RAM würden brach liegen.

Warum können Grafikkarten eigentlich nicht den Speicher seperat verwalten?

Killeralf
2007-02-24, 13:42:12
Warum können Grafikkarten eigentlich nicht den Speicher seperat verwalten?

Weil das OS für die adressierung zuständig ist.

PatkIllA
2007-02-24, 13:44:30
Wenn man wollte hätte man das auch anders machen können.
Z.B wie bei Festplatten wo es einfach heißt schreibe in Wert X in Block Y.
Memory Mapped IO ist aber einfach zweckmäßiger dafür. Und mit 64 Bit Betriebssystemem ist es auch kein Problem mehr.

Was passiert eigentlich wenn man 1 GiB Grafikkarten hat und damit Quad SLI machen will? :biggrin:

Spasstiger
2007-02-24, 13:50:05
Hat man also 4 GB RAM im PC und nur eine 32 MB Grafikkarte, hätte man fast 4 GB RAM zur Verfügung.

Bei 4 GB RAM und eine GTX SLI karte mit 2* 768 MB, dann hätte man effektiv nur noch 2,5 GB RAM und 1.5 GB RAM würden brach liegen.
Der Windows-Kernel reserviert sich aber generell 2 GB, d.h. ohne weiteres Zutun kann eine Anwendung nur noch 2 GB Speicher nutzen (+ den Grafikspeicher und die anderen reservierten Zusatzspeicher natürlich).

Kosh
2007-02-24, 14:11:56
Der Windows-Kernel reserviert sich aber generell 2 GB, d.h. ohne weiteres Zutun kann eine Anwendung nur noch 2 GB Speicher nutzen (+ den Grafikspeicher und die anderen reservierten Zusatzspeicher natürlich).

Ja,das habe ich verstanden. Das heisst,eine Quad 8800 GTX SLI Kombo hätte effektiv max 500 GB an Speicher zur Verfügung (da der Grafikkartenspeicher im SLI Verbund sich ja nicht addiert).

Jasch
2007-02-24, 14:12:39
Was passiert eigentlich wenn man 1 GiB Grafikkarten hat und damit Quad SLI machen will? :biggrin:

Gute Frage wird wohl unter 32bit Os einfach icht funktionieren.
Obwohl ich sowieso nicht verstehen kann das leute die iommer das neuste haben wollen, 4GB...(is ja wohl noch kein Mainstream) imme noch auf 32bit rumgurken.

StefanV
2007-02-24, 16:17:15
@Spasstiger,danke für deine Erklärung,jetzt habe ich es auch kapiert.
Man hat also insgesamt max 4 GB an Speicher im PC zur Verfügung.
Wusste nicht,das zB Grafikkartenspeicher wegen der Adressierung mit einbezogen wird.
Hat man also 4 GB RAM im PC und nur eine 32 MB Grafikkarte, hätte man fast 4 GB RAM zur Verfügung.
Bei 4 GB RAM und eine GTX SLI karte mit 2* 768 MB, dann hätte man effektiv nur noch 2,5 GB RAM und 1.5 GB RAM würden brach liegen.
Warum können Grafikkarten eigentlich nicht den Speicher seperat verwalten?

1. SCHAU IN MEINE SIGNATUR; DA STEHT ALLES!

2. Ist das, was du hier sagst schlichtweg falsch, denn Adressraum != speicher
Adressraum ist eher sowas wie ein Inhaltsverzeichnis für den Speicher.

3. Rest siehe meine Signatur (der Punkt, warum 64bit einfach nötig ist, da steht schon alles!)

Gast
2007-02-24, 16:43:48
@StefanV
Vista x64 hast du dir aber nicht zugelegt. Oder doch noch?

Coda
2007-02-24, 16:55:21
Man kann 3,5GiB physikalisch und 2GiB virtuell verwenden. Die Grafikkarten fressen auch keinen physikalischen RAM sondern einfach nur virtuellen Addressraum.

Mit mehr als einem Programm also auch durchaus die vollen 3,5GiB. Aber bei 4GiB RAM würde ich dringend x64-Vista empfehlen - die entsprechende DVD kann man sich für 13€ von MS zuschicken lassen. Dann können nämlich 32-Bit-Programme wenn sie entsprechend kompiliert sind auch volle 4GiB verwenden.

Spasstiger
2007-02-24, 16:59:06
Mit mehr als einem Programm also auch durchaus die vollen 3,5GiB.
Stimmt eigentlich, da jede Anwendung ihren eigenen virtuellen Adressraum hat. Aber warum dann 3,5 GiB und nicht knapp 4 GiB?
Wegen dem Windows-Kernel?
Die Tabellen für die Speicheradressierung brauchen ja nur ein paar MB.

Coda
2007-02-24, 18:34:17
Nö hat was mit PCI zu tun. Das verbraucht wirklich physikalische Addressen zwischen 3,5 und 4GiB. Deshalb braucht man ja auch das remapping damit dieser Speicherraum auch unter x64 überhaupt zur Verfügung steht.

Da werden diese 512 MiB dann höher eingeblendet (physikalisch).

Wegen der Speichertabellen: Ich weiß gar nicht ob die in einem Userspace-Prozess überhaupt eingeblendet werden. Ich glaube eher nicht. Das gehört einfach zum RAM, dass das Betriebssystem an sich schon verbraucht.

Hmm okay, die werden sich wohl kaum pagen lassen. Von daher hast du recht ;)

Gast
2007-02-25, 02:16:31
Das hier ist auch "lustig"

http://www.computerbase.de/forum/showpost.php?p=2595782&postcount=1

Gast
2007-02-25, 03:56:29
Paar GUTE und interessante Infos zum /3GB

http://msexchangeteam.com/archive/2004/08/20/217772.aspx

Jasch
2007-02-25, 08:02:20
@StefanV
Vista x64 hast du dir aber nicht zugelegt. Oder doch noch?

Coda: Aber bei 4GiB RAM würde ich dringend x64-Vista empfehlen


Es gibt auch Xp64 läuft bei mir seit 2jahren problemlos, und hat kein Drm Müll onboard. Bis die Dx10 Geschichte wirklich los ghet wird wohl noch nen bissl wasser fließen.

][immy
2007-02-25, 09:43:45
sollte vista x32 nicht jetzt auch komplett die 4GB ausnutzen können auch wenn Grafikspeicher etc noch dazukommen?
ich meine das mal irgendwo gelesen zu haben, das das eine von vistas neuerung sei.

Gast
2007-02-25, 09:53:55
Ist das so schwer zu verstehen? Der Adressraum reicht nicht. Wenn deine Wohnung zu klein ist, und du hast zu viele Möbel, kommen einige davon in den Keller. So ist das beim Computer auch.

HOT
2007-02-25, 12:14:51
Klasse Beschreibung, Gast ;). Stimmt aber. Vista32 kann nicht zaubern und unterliegt den gleichen Hardwaregrenzen wie WindowsXP. Deshalb ist Vista32 im Prinzip auch für die Katz, denn warum soll man sich ein OS holen, auf dem man nur ausgewählte Anwendungen fahren kann und das keine technischen Vorteile ggü. einem XP hat? Was soll man auf einem Vista32 mit einem DX10 Titel, der >2GB Adressraum benötigt, anfangen? Die ganzen Games sind nicht umsonst alle verschoben worden (Crysis, Stalker usw.). Das wird ein sehr schwaches Spielejahr und danach kommt für die Vista32 Leute das böse Erwachen, denn dann können sie die Hammergames nurnoch im ruckeligen Kompatibilitätsmode spielen, während die 64Bit Leute die Games in voller Pracht genießen können. Und wenn man kapiert hat, worum es bei den 64Bit wirklich geht, wird einsehen, dass die neuen Games zwar nur 2GB RAM brauchen und auch auf 32Bit kompiliert sind, jedoch wahrscheinlich deutlich mehr adressieren müssen, um die vollen Details darstellen zu können. Das Zauberwort heisst hier Large Adress Bit.

puntarenas
2007-02-25, 12:41:35
Unter WindowsXP können Anwendungen maximal 2GB Speicher adressieren, dies ist allerdings eine künstliche Beschränkung seitens Microsoft und kein Naturgesetz.
32Bit-Betriebssysteme können unabhängig von Beschränkungen des Herstellers nur 4GB Speicher nativ nutzen, mittels "Krücken" wie PAE geht aber auch hier deutlich mehr und die eigentliche Frage ist für mich noch immer offen:
Stellt Vista 32Bit endlich wenigstens die vollen 4GB zur Verfügung oder gibt es noch immer marktstrategische Einschränkungen wie bei Windows XP?

Klick! (http://www.heise.de/ct/05/05/096/) und Klick! (http://www.heise.de/ct/01/13/142/)

Darüber hinaus wäre interessant, ob Vista Funktionen mitbringt, um über den 32Bit-Adressraum hinauszugehen, natürlich mit den verbundenen Performanceverlusten. Macht mich schlau!

PatkIllA
2007-02-25, 12:46:51
@puntarenas
es gehen doch auch 3 GB pro Prozess mit dem Schalter in der boot.ini.
Und irgendeinen Prozessraum muss das OS haben.
Theoretisch könnte man auch wohl bei einem Betriebssystemaufruf eine Adressraumumschaltung machen, aber da müsste man wohl einiges am OS ändern. Außerdem würde man dadurch auch nur im Bereich von einigen hundert MB für die Anwendung hinzugewinnen können.
Ich hätte mir von Vista ein viel stärkere 64 Bit Orientierung gewünscht. Von mir aus hätte man da auch gleich den großen Schritt gehen können und die 32 Bit Version gleich sein lassen.

(del)
2007-02-25, 12:54:15
Was soll man auf einem Vista32 mit einem DX10 Titel, der >2GB Adressraum benötigt, anfangen? Die ganzen Games sind nicht umsonst alle verschoben worden (Crysis, Stalker usw.). Das wird ein sehr schwaches Spielejahr und danach kommt für die Vista32 Leute das böse Erwachen, denn dann können sie die Hammergames nurnoch im ruckeligen Kompatibilitätsmode spielen, während die 64Bit Leute die Games in voller Pracht genießen könnenEcht jetzt? MS behandelt doch die x64 Version bis jetzt recht stiefmutterlich. OEM x64 auf Komplettsystemen sehe ich auch kaum. Die Hersteller behandeln die x64 Treiber bis jetzt noch schlechter. Haben paar Jungs von NV nicht sogar offen gesagt, daß der x64 Vista Treiber noch keine große Priorität hat?
Keine guten Aussichten für Spieler. Und wenn man dann ein DX10 Spiel macht, wird man sich erstmal anschauen für wieviele Leute man in "prächtige" >2GB Erweiterung investiert. Momentan sieht es nicht so aus als wenn man die Mehrausgaben wieder... einspielen könnte.

Bis jetzt wirkte sich mehr Hauptspeicher nur auf die Ladezeiten aus. Welcher Art auch immer, also vor wie auch 'während des Levels'. Meinst du das wird später größeren Einfluss auf die Qualität der Grafik haben als die Größe des VRAMs?

Jedenfalls wird man das garantiert nicht bereits mit Crysis und Stalker erleben. Da scheint eine DX10/512 MB Grafikkarte momentan wesentlich wichtiger was die "Pracht" angeht, als >2 GB Hauptspeicher.

Coda
2007-02-25, 17:08:44
Unter WindowsXP können Anwendungen maximal 2GB Speicher adressieren
Das ist gelogen. Unter x64-Windows können volle 4GiB addressiert werden. Überhaupt ist dieses Microsoft-Gebashe an diesem Punkt wieder mal völlig unangebracht, weil auch Linux und andere Betriebsysteme sich natürlich etwas vom virtuellen Addressraum abzweigen müssen.

Stellt Vista 32Bit endlich wenigstens die vollen 4GB zur Verfügung oder gibt es noch immer marktstrategische Einschränkungen wie bei Windows XP?
Da ist überhaupt nichts "marktstrategisch".

puntarenas
2007-02-26, 00:00:13
Das ist gelogen. Unter x64-Windows können volle 4GiB addressiert werden.
Gelogen ist ein starkes Wort, außerdem sollte aus dem Kontext hervorgehen, dass natürlich von Windows XP 32Bit die Rede war. Ich behaupte aber auch in diesem Zusammenhang nicht, dass es vollständig zutrifft, dazu habe ich zu wenig Ahnung von der Materie, was auch der Grund für meine Nachfrage ist:
32-Bit-Programme können unter Windows für gewöhnlich höchstens 2 GByte Speicher für sich beanspruchen. Lädt ein 32-Bit-Programm eine große Datei von der Festplatte, geht das nur in 2-GByte-Happen. Bei der sequenziellen Verarbeitung etwa von Videodaten spielt das keine wesentliche Rolle. Das Durchsuchen einer großen Datenbank (wahlfreier Zugriff auf einzelne Adressen) kostet auf diese Art aber viel Zeit.


Überhaupt ist dieses Microsoft-Gebashe an diesem Punkt wieder mal völlig unangebracht, weil auch Linux und andere Betriebsysteme sich natürlich etwas vom virtuellen Addressraum abzweigen müssen.War nicht als Gebashe gemeint und dass auch andere Betriebssysteme sich Speicher für den Kernelspace reservieren müssen, scheint klar. Allerdings hat man wohl unter XP weniger Einfluß auf Art und Umfang dieser Reservierung.



Da ist überhaupt nichts "marktstrategisch".
Wieder von heise.de, beide Zitate übrigens aus dem ersten Link (http://www.heise.de/ct/05/05/096/) in meinem Posting oben:

Microsoft hat daher Tricks in die 32-Bit-Windows-Versionen eingebaut, die einige ihrer Limitierungen mildern sollen. Die meisten davon funktionieren prinzipiell auch unter Windows 2000 und XP, sind aber erst bei den Windows-Server-Editionen wirklich nützlich.

Einer dieser Kniffe heißt Physical Address Extension (PAE).

(...)

Leider hilft das bei den Desktop-Versionen nicht weiter, denn hier begrenzt Microsoft die maximale Größe des physischen Speichers auf 4 GByte, was den wichtigsten Nutzen von PAE wieder aufhebt. Erst Windows Server 2003 profitiert wirklich von PAE, allerdings auch nur bis zu den jeweils von Microsoft sowie der Hardware gesetzten Limits. So kann die 32-Bit-Standard-Edition ebenfalls nur mit 4 GByte RAM umgehen, erst die Enterprise- (32 GByte) und die Datacenter-Edition (64 GByte) schaffen mehr.

Klingt für mich nach marktstrategisch. Natürlich habe ich weitestgehend nur "nachgeplappert", was ich eben so im Laufe meines Computerlebens aufgeschnappt habe, aber gerade deshalb würde ich mir fundierte Aufklärung wünschen, die Standardphrasen wie "mehr als 4GB geht eben nur mit 64Bit" oder "XP kann aus physikalischen Gründen nur XY zur Verfügung stellen" sind ähnlich dünn wie mein Halbwissen. Zusammen mit dem aufklärenden Link (http://msexchangeteam.com/archive/2004/08/20/217772.aspx) zu Windowsmythen entsteht bei mir vielmehr der Eindruck, dass sehr wohl 4GB Hauptspeicher und 2 Grafikkarten im SLI-Gespann mit zig GB VRam auch unter XP oder Vista 32Bit verwaltet werden könnten, es ist aber zumindest für XP nicht von Microsoft vorgesehen und ob es unter Vista 32Bit geht, steht ja hier als Frage im Raum.

Gast
2007-02-26, 01:13:08
Der leidige Mythos...

Unter einem 32 bit System können sehr wohl mehr als 4 GB genutzt werden. Hängt einzig und allein vom Betriebssystem ab.

Siehe: http://de.wikipedia.org/wiki/PAE

Das Problem dabei ist nur, das einzelne Anwendung davon jedoch nur 2-3 GB nutzen können. Um 64 GB auszulasten, sollte man also schon knapp 30 Anwendungen gleichzeitig laufen lassen, sonst wäre es Verschwendung.

StefanV
2007-02-26, 01:20:10
Bevor ihr PAE hypt, informiert euch erstmal drüber, was das überhaupt ist!!
Kleiner Tip: Real Mode, Segmentierung.


Kurzum:
Das is 'ne üble Krücke, die eingeführt wurde, weil man (=Intel) noch keine 64bit CPUs in Sicht hatte und man etwas mehr Speicher brauchte...

Gast
2007-02-26, 02:10:32
Am besten wäre es, wenn es mal jemand ausprobieren würde.

Ob der Windows 2000 Datacenter Server allerdings zum spielen taugt (DX?), wäre dann die nächste Frage. ;)

HOT
2007-02-26, 10:52:17
Unter WindowsXP können Anwendungen maximal 2GB Speicher adressieren, dies ist allerdings eine künstliche Beschränkung seitens Microsoft und kein Naturgesetz.
32Bit-Betriebssysteme können unabhängig von Beschränkungen des Herstellers nur 4GB Speicher nativ nutzen, mittels "Krücken" wie PAE geht aber auch hier deutlich mehr und die eigentliche Frage ist für mich noch immer offen:
Stellt Vista 32Bit endlich wenigstens die vollen 4GB zur Verfügung oder gibt es noch immer marktstrategische Einschränkungen wie bei Windows XP?

Klick! (http://www.heise.de/ct/05/05/096/) und Klick! (http://www.heise.de/ct/01/13/142/)

Darüber hinaus wäre interessant, ob Vista Funktionen mitbringt, um über den 32Bit-Adressraum hinauszugehen, natürlich mit den verbundenen Performanceverlusten. Macht mich schlau!

Ist es nicht ;). Man muss bei einem 32Bit OS immer Kompromisse eingehen, das ist also keine künstliche Grenze. Die 2GB garantiert Windows den Anwendungen, selbst wenn die Hardware mehr benötigt. Mehr kann Windows nicht garantieren. Bis zu 3GB sind einstellbar, was sich jedoch in der Praxis als untauglich herausgestellt hat, da viele Mainboards trotz wenig Hardware im Rechner, es nicht zulassen mehr als 2,1GB Anwendungen zuzuweisen und in Windows alles an Hardwareadressraum reservieren, was sie kriegen können.

HOT
2007-02-26, 10:55:53
Echt jetzt? MS behandelt doch die x64 Version bis jetzt recht stiefmutterlich. OEM x64 auf Komplettsystemen sehe ich auch kaum. Die Hersteller behandeln die x64 Treiber bis jetzt noch schlechter. Haben paar Jungs von NV nicht sogar offen gesagt, daß der x64 Vista Treiber noch keine große Priorität hat?
Keine guten Aussichten für Spieler. Und wenn man dann ein DX10 Spiel macht, wird man sich erstmal anschauen für wieviele Leute man in "prächtige" >2GB Erweiterung investiert. Momentan sieht es nicht so aus als wenn man die Mehrausgaben wieder... einspielen könnte.

Bis jetzt wirkte sich mehr Hauptspeicher nur auf die Ladezeiten aus. Welcher Art auch immer, also vor wie auch 'während des Levels'. Meinst du das wird später größeren Einfluss auf die Qualität der Grafik haben als die Größe des VRAMs?

Jedenfalls wird man das garantiert nicht bereits mit Crysis und Stalker erleben. Da scheint eine DX10/512 MB Grafikkarte momentan wesentlich wichtiger was die "Pracht" angeht, als >2 GB Hauptspeicher.

Ich dachte, dass hätte ich deutlich gemacht: Es geht mir nicht um RAM.

HOT
2007-02-26, 10:56:59
[...]


Wieder von heise.de, beide Zitate übrigens aus dem ersten Link (http://www.heise.de/ct/05/05/096/) in meinem Posting oben:

Klingt für mich nach marktstrategisch. Natürlich habe ich weitestgehend nur "nachgeplappert", was ich eben so im Laufe meines Computerlebens aufgeschnappt habe, aber gerade deshalb würde ich mir fundierte Aufklärung wünschen, die Standardphrasen wie "mehr als 4GB geht eben nur mit 64Bit" oder "XP kann aus physikalischen Gründen nur XY zur Verfügung stellen" sind ähnlich dünn wie mein Halbwissen. Zusammen mit dem aufklärenden Link (http://msexchangeteam.com/archive/2004/08/20/217772.aspx) zu Windowsmythen entsteht bei mir vielmehr der Eindruck, dass sehr wohl 4GB Hauptspeicher und 2 Grafikkarten im SLI-Gespann mit zig GB VRam auch unter XP oder Vista 32Bit verwaltet werden könnten, es ist aber zumindest für XP nicht von Microsoft vorgesehen und ob es unter Vista 32Bit geht, steht ja hier als Frage im Raum.

Kein normaler Mensch braucht PAE wirklich, M$ gibt das nur nicht frei, dass jemand auf die findige Idee kommen könnte, dass ein stinknormales XP als Datenbankserver sonst auch reichen könnte, als ein teures 2003 EE Edition. Das ist zwar Marktstrategisch, hat aber mit unserem Thema rein garnichts zu tun. PAE ist für Privatanwender schlicht irrelevant. Und das 4GB unter XP/Vista32, mal unabhängig von SLI/CF, nicht brauchbar sind, ist eine Sache der Logik, da gibts auch keine Unterschiede. Und wie oft soll ich das noch schreiben, der 3GB Schalter funktioniert bei vielen heutigen Mainboards einfach nicht, sondern führt mittlerweile nahezu 100% zu Abstürzen.

Gast
2007-02-26, 12:03:16
Ich dachte, dass hätte ich deutlich gemacht: Es geht mir nicht um RAM.Klingt ok. Worum ging es dir eigentlich?

BlackBirdSR
2007-02-26, 12:17:53
Klingt ok. Worum ging es dir eigentlich?

Worum es schon seit mehreren Posts geht. Addressraum!

Gast
2007-02-26, 12:53:21
War nicht als Gebashe gemeint und dass auch andere Betriebssysteme sich Speicher für den Kernelspace reservieren müssen, scheint klar. Allerdings hat man wohl unter XP weniger Einfluß auf Art und Umfang dieser Reservierung.
Nicht das ich wüsste. Bei Linux kann man zwar 3,5GiB einstellen, nur wird das seltenst funktionieren. Windows erlaubt ja 3GiB Userspace-Speicher.

(del)
2007-02-27, 00:02:29
Worum es schon seit mehreren Posts geht. Addressraum!:D :up: Und nu? Die Spiele werden auf 64bit "prächtiger" aussehen, weil man mehr Adressraum hat? Bei gleicher "Hauptspeichermenge"? Was schrieb denn HOT im besagten Posting? Was habe ich gequotet und was entgegnet? :uclap:

StefanV
2007-02-27, 00:11:50
Unter anderem, weil das Problem bei 32bit Systemen nicht zwangsläufig die Mänge des vorhandenem ist sondern des maximal verfügbaren (am Stück), was manchesmal nur 100-250MiB sein können...

Nach Gothic3 ist Supreme Commander ein weiteres Spiel, bei dem der 32bit Adressraum nicht langt...

looking glass
2007-02-27, 01:55:29
Obligatorische Frage, aber hast Du für die Aussage das schon ausprobiert? Würde gern einen Test dazu sehen, wieviel diese Aussage letztendlich in einem Benchmark bringt.

Das sowas kommt, damit hab ich eigentlich gerechnet, aber so schnell an der Grenze zu knabbern, damit hab ich ehrlich gesagt erst in 3 bis 4 Jahren gerechnet, also das dann 64 Bit und 4 GB RAM Quasistandard werden.


Um ehrlich zu sein, momentan gehe ich eher davon aus, das Software wie G3 und wie Du sagst Suprem Commander einfach gesagt, grottigen Code beinhalten, der es früh limitiert und es bei weitem besser gehen würde, wen nur ordentlich gearbeitet und mal ein wenig optimiert würde.

StefanV
2007-02-27, 02:27:55
5284440

Versuch dich einfach mal drüber zu informieren, was denn Adressraum ist, wie es funktioniert und so weiter, ansonsten siehe Signatur...

Nochmal, zum Mitschreiben, kurzfassung:
Adressraum MUSS um einiges größer sein als der Arbeitsspeicher.
Warum das so ist, siehe Signatur.

Warum 64bit einfach nötig ist <- da, lesen!

Gast
2007-02-27, 03:33:40
Unter anderem, weil das Problem bei 32bit Systemen nicht zwangsläufig die Mänge des vorhandenem ist sondern des maximal verfügbaren (am Stück), was manchesmal nur 100-250MiB sein können...Was bei mehr Adressraum, aber ebenfalls nur einem 2 GB Ausbau, mehr 100-250 MB sein kann? Adressraum hin oder her. Erstmal muß das System mit dem vorhandenem RAM haushalten. Ausgehend von 2 GB Hauptspeicher auf beiden Systemen eine Frage also: Warum sollte ein 64bit System meist mehr Hauptspeicher am Stück (!) bereitstellen können als ein 32bit System?
Ich glab ich habs bald ;) aber ich würde das gerne fachlich korrekt erklärt bekommen.

Wobei das hier http://www.forum-3dcenter.org/vbulletin/showpost.php?p=5280623&postcount=50 noch nicht wirklich als Quatsch abgetan wurde. Es zeigt einfach die momentan andere Seite der Medalie.
Ich habe nichts gegen 64bit. Microsoft und die Firmen (Treiber) anscheined schon...

StefanV
2007-02-27, 03:39:07
Nicht schon wieder der Bullshit mit dem Arbeitsspeicher...

Sorry, Gast, du hast nicht kapiert, worum es überhaupt geht und wo die Problematik überhaupt ist, schau dir einfach mal den Link an, den ich hier reingeworfen hab (kleiner Tip: Fragmentierung des Adressraums).

Hab echt keinen Bock, das jedesmal wieder zu erklären, wenn die Gegenüber keinen Bock haben, zu verstehen, das Adressraum eben NICHTS mit dem verbauten Speicher zu tun hat...

Lies den Thread, versuch es zu verstehen, komm dann wieder...

Nur noch soviel:
Im Adressraum ist VIEL mehr als nur der Hauptspeicher drin, weiteres steht in dem Thread...

Gast
2007-02-27, 05:17:05
Hab echt keinen Bock, das jedesmal wieder zu erklären, wenn die Gegenüber keinen Bock haben, zu verstehen, das Adressraum eben NICHTS mit dem verbauten Speicher zu tun hat...Ich behaupte dagegen ganz frech, daß du einfach zu 'stumpf' bist die Frage vernünftig zu lesen um dann eine vernünftige Antwort zu geben.

Mit fragmentierung des Adressraumes hat es mir bei mir zwar kurz geleuchtet ("Problematik"), aber sinnvolle Informationen lieferst du nicht. Einfache Fragen, einfache Antworten. Und kein Studium von Threads und Artikel (Links).

Wenn du keinen Bock mehr hast, dann tut das dem ganzen vielleicht sogar gut. Weil dann vielleicht Leute zu Wort kommen die etwas zu sagen und erklären haben, statt nur stumpfsinnig Gebetsmühlen wegen "Adressraum ist nicht Hauptspeicher" zu drehen.

Sorry, aber manchmal hab ich echt das Gefühl, du wärest nur ein Bot :|

StefanV
2007-02-27, 05:47:50
Nein, Gast, DU hast keinen Bock, das zu lesen, was ich schrieb!

Deine Frage hab ich beantwortet, ansonsten lies den verlinkten Thread, insbesondere mein letztes Posting in jenem Thread, da hab ich erklärt, warum man bei einem 32bit OS eben NICHT viel am Stück hat!

Aber ich sags nochmal:
Weil der Adressraum fragmentiert ist, rest siehe den anderen Thread.

The Cell
2007-02-27, 07:11:35
StefanV,

der Gast hat leider Recht. Du kommst extrem "stumpf" herüber.
Deine Art zu argumentieren, würde dich "RL" relativ schnell zu einem Außenseiter werden lassen, mit dem selbst die Hunde dann nicht mehr spielen, wenn er ein Steak um den Hals gebunden bekommt.
Kompensierst du hier irgendwelche Dinge, lebst du dich einfach nur aus oder bist du einfach ein absolut unhöflicher Mensch, der nicht in der Lage ist, den Leute argumentativ Dinge nahezubringen, ohne nach der ersten Zeile sinngemäß zu schreiben "INFORMIER DICH, NOOB!"?

Ja, ich weiß, ich bringe auch manchmal derartige Hämmer. Aber ich bringe sie nicht ständig und benutze dabei Hunderschaften von !-Zeichen, die meine Meinung auch noch optisch untermauern sollen.

Das musste leider raus, junger Mann.

Threadersteller, such einfach nach Postings von Xmas in Bezug auf dieses Thema. Der erklärt in der Regel in ruhigem Ton, was geht, was nicht geht und warum dies so ist.

Amen,
QFT

Spasstiger
2007-02-27, 15:00:45
Schade, dass das Skript von meiner Vorlesung "Technische Informatik" nicht im Netz zu finden ist, da wird die ganze Thematik mit dem virtuellen Speicher, den Adressräumen und dem Paging (seitenbasierte Adressumsetzung) schön erklärt.

Die Fragmentierung des virtuellen Adressraums ("interne Fragmentierung") kommt daher, dass konstante Block- bzw. Seitengrößen verwendet werden (4 kb, 2 MB, 4 MB beim Athlon 64/Opteron und beim Pentium 4). Der virtuelle Adressraum wird dabei in viele gleichgroße Blöcke zerlegt. Die Startadressen der zugehörigen Blöcke im Arbeitsspeicher werden in der Seitentabelle (page table) gespeichert.
Wenn jetzt ein Programm z.B. 6 kb im Arbeitsspeicher benötigt, so müssen zwei Blöcke im virtuellen Adressraum geopfert werden, da ja die Blöcke 4 kb groß sind. Diesen Speicherverlust im virtuellen Adressraum nennt man interne Fragmentierung.

Im ungünstigsten Fall geht fast die Hälfte (EDIT: siehe unten) des virtuellen Adressraums durch Fragmentierung flöten. Durch die relativ klein gewählte Blockgröße von 4 kb hält sich die Fragmentierung aber in Grenzen.

/EDIT: Bin mir jetzt gar nicht so sicher, ob nicht auch mehr Adressraum durch Fragmentierung flöten gehen kann, das mit der Hälfte war nur von mir vermutet. Aber es könnte ja z.B. sein dass ein großer Datensatz in den Speicher geschrieben werden soll, aber nirgendwo im virtuellen Adressraum noch Platz am Stück dafür ist, obwohl mehr als die Hälfte des virtuellen Adressraums frei ist. Den Datensatz kann man jetzt auch nicht einfach über die freien Stellen im virtuellen Adressraum verteilen, das ist nur im physikalischen Speicher möglich (Cache, RAM). Denn die Programme müssen ja ihre Datensätze im virtuellen Adressraum adressieren können. Das geht nur, wenn im virtuellen Adressraum nix durcheinander gewürfelt wird.

Gast
2007-02-27, 17:13:44
Danke QFT.

@Spasstiger
Nur, WANN wird der Adressraum so stark fragmentiert? Während einer starken Beanspruchung des Hauptspeichers (Alllozieren/Deallozieren) oder gleich sobald Desktop steht? ODer wie entsteht das überhaupt?

Wäre es eine Abhilfe (32bit System), falls man bei 2 GB RAM keine 512 MB am Stück mehr bekommt, das System neuzustarten? ZB. man bootet nach 2h Rödelei mit Photoshop das System neu und kann anschließend Gothic3 merkbar flüßiger zocken als ohne diesen Neustart?

Ehrlich gesagt fiel mir bis jetzt nicht so auf, daß wenn der Rechner mal paar nach Tage durchläuft, ein Spiel hinterher lahmer/ruckeliger (Ladezeiten?) läuft als direkt nach dem Neustart. Ich dachte immer eben DANK der Aufteileung in kleinere Blöcke und dem Managment der MMU Speicherfragmentierung/Adressraumfragmentierung nicht so ein großes Thema sind wie zB. früher unter AmigaOS. Wo der größte zusammenhängende Speicherblock immer eine sehr große Rolle gespielt hat.

Spielt es unter unixoiden, ist NT irgendwie ja auch, ebenfalls so eine große Rolle, ob die "512MB" die ich alloziere am Stück im Adressraum liegen oder adressraumtechnisch in 256MB + 160MB + 96MB aufgeteilt sind? Oder besteht das dann aus Milionen komplett verstreuten Schnippsel im Adressraum und dann geht garnichts mehr? Das Problem ist für mich leider noch nicht so 100% greifbar.

Hat der 2.6 Linux-Kernel die gleichen Probleme und im gleichen Masse oder macht MS wie so oft es einfach nur nicht so gut wie es möglich wäre?

PatkIllA
2007-02-27, 17:20:48
Der Adressraum ist für jedes Programm getrennt. Man spricht auch von virtuellen Adressen, weil die nichts über die tatsächliche Postion im Speicher aussagen.
Sprich es reicht schon das Programm neuzustarten.
Ein zusammenhänger Block im Adressraum muss auch nicht am Stück im physikalischen Speicher liegen, aber man muss noch genug Platz im virtuellen Adressraum haben. Sonst gehen die ganzen Aktionen mit der Berechnung von Speicheradressen nicht mehr.
Das hat auch nichts mit Windows oder Linux zu tun.

Gast
2007-02-27, 17:25:09
Wenn jetzt ein Programm z.B. 6 kb im Arbeitsspeicher benötigt, so müssen zwei Blöcke im virtuellen Adressraum geopfert werden, da ja die Blöcke 4 kb groß sind. Diesen Speicherverlust im virtuellen Adressraum nennt man interne FragmentierungDas wäre die gleiche Story wie mit dem Speichern kleiner Dateien auf der Platte. Wird durch das Abspeichern solcher Dateien die Platte stärker fragmenitert? Gut, fertigen Dateien läßt sich nichts weiter anstellen´. Sie sind so groß wie sie sind. Aber warum alloziert man dann als Regel nicht NUR mehrfach die Blockgröße? ZB. 400x 4KB, also 1.638.400 Bytes, wenn man eigentlich nur 1.637.300 Bytes nötig hätte? Macht das nicht eh der Kernel automatisch und es JAcke wie Hose ist? Ich check das nicht :(

Gast
2007-02-27, 17:27:56
Ein zusammenhänger Block im Adressraum muss auch nicht am Stück im physikalischen Speicher liegen, aber man muss noch genug Platz im virtuellen Adressraum haben. Sonst gehen die ganzen Aktionen mit der Berechnung von Speicheradressen nicht mehrUnd warum schwindet das dann mit der Zeit? Was genommen wird, wird irgendwannmal auch freigegeben. Und dann? Auch wenn meine Platte fragmentiert ist, wenn 30GB frei sind, sind noch 30 GB frei.

PatkIllA
2007-02-27, 17:30:27
Angenommen du machst den ganzen Adressraum mit 500 Stück 4 MiB Paketen voll.
Jetzt gibst du jedes 2 Paket frei.
Dann hast du zwar wieder den halben Adressraum frei, aber trotzdem passt nirgendwo ein 8 MiB Stück hinein.
Und nur durch fortlaufende Adressen findest du leicht die richtige Adresse.
Wenn du jetzt ein 8 MiB Bitmap mit 4 Byte pro Pixel hast, dann ist das millionste Pixel an der Adresse: Startadresse + 1 Mio * 4. Wenn die Adressen nicht fortlaufend sind musst du erst abfragen, ob es im unteren oder oberen Block ist und dann die Adresse berechnen usw. Das wird je nach Datenstruktur auch noch deutlich schlimmer.

Spasstiger
2007-02-27, 19:05:32
Wäre es eine Abhilfe (32bit System), falls man bei 2 GB RAM keine 512 MB am Stück mehr bekommt, das System neuzustarten? ZB. man bootet nach 2h Rödelei mit Photoshop das System neu und kann anschließend Gothic3 merkbar flüßiger zocken als ohne diesen Neustart?
Du hast immer noch nicht den Unterschied zwischen physikalischem Speicher und virtuellem Adressraum verstanden. Es ist der virtuelle Adressraum, der nicht voll ausgenutzt werden kann, im RAM können die Daten beliebig verteilt werden.
Und jede Anwendung bekommt seinen eigenen virtuellen Adressraum (unter WinXP und Windows Vista 32 Bit standardmäßig 2 GB).

Mit der Fragmentierung einer Festplatte hat die interne Fragmentierung (http://de.wikipedia.org/wiki/Interne_Fragmentierung), also die Fragmentierung des virtuellen Adressraums, übrigens auch nichts zu tun.
Bei einer Festplatte spricht man von Fragmentierung (externer Fragmentierung), wenn zusammmengehörige Datensätze auf der Platte verstreut abgespeichert wurden. Da der Wechsel an eine andere Speicherstelle wesentlich länger dauert als das Auslesen von einer benachbarten Stelle, erleidet man einen Performanceverlust beim Lesen dieses Datensatzes. Selbiges kann auch beim RAM passieren, wenn bei einem Cache-Miss die Caches neu gefüllt werden müssen. Das Lesen eines beliebig verteilter Bits im RAM dauert länger als das Burst-Lesen, also das Lesen vieler benachbarter Bits.

Im Adressraum ist es nicht möglich, dass das Betriebssystem die Daten beliebig verteilt, die Anwendung gibt die Speicheradressen ja genau vor. Wenn nun Blöcke im virtuellen Adressraum nicht voll belegt sind, spricht man von interner Fragmentierung. Zugriffszeiten und Burstraten gibt es im virtuellen Adressraum nicht, es sind ja nur virtuelle Adressen, die auf physikalische Adressen abgebildet werden.
Natürlich kann das Speichermanagement einer Anwendung großen Einfluss darauf nehmen, wie effizient der virtuelle Adressraum ausgenutzt wird.

Bei einem größerem virtuellen Adressraum muss man auf die Fragmentierung des virtuellen Adressraums nicht mehr achten (der 48 Bit Adressraum von x86-64 ist für die nächsten sagen wir 15 Jahre definitiv groß genug, selbst wenn die Hälfte durch interne Fragmentierung flöten geht). Natürlich braucht die Anwendung dennoch ein Speichermanagement, um den Bedarf an physikalischem Speicher in Grenzen zu halten.

Das Fazit zum Thema interne Fragmentierung ist, dass unter einem 32-Bit-Windows eine Anwendung standardmäßig bei Auftreten von interner Fragmentierung nichtmal 2 GB an Speicher nutzen kann.

Gast
2007-02-28, 00:18:07
[quote]Im Adressraum ist es nicht möglich, dass das Betriebssystem die Daten beliebig verteiltAhne ich das langsam richtig, daß man beim Anfordern vom 1 GB Speicher, welcher zwar nicht aus einem zusammenhängenden Block bestehen muß, einen zusammenhängenden 512 MB 'Adressraumstück' braucht??

Gast
2007-02-28, 01:34:24
Sorry ich meinte in beiden Fällen 1GB :(

Spasstiger
2007-02-28, 01:40:56
Die Anwendung gibt die Adressen, mit denen sie arbeiten möchte, selbst vor. Sie sagt z.B. lade die Daten an Speicherstelle 0x10000000 bis 0xFFFF0000. Dann wird dieser Bereich im virtuellen Adressraum belegt. Das Betriebssystem hat darauf überhaupt keinen Einfluss (meines Wissens nach).
Das Betriebssystem erstellt nur die Seitentabellen für die Adressumsetzung und legt die Daten in den Arbeitsspeicher oder in die Swap-Datei ab.
Wie der virtuelle Adressraum belegt wird, entscheidet die Anwendung.

Gast
2007-02-28, 03:02:19
Ok. Danke euch für die Infos. Alles gecheckt.

Irgendwie komme ich aber nicht drum herum das Prinzip für extrem dämlich zu halten :| Mir erscheint es wesentlich sinnvoller, die Andwendung würde nur Speicher anfordern und es wieder freigeben (als Menge) und der Kernel mit Zuhilfenahme der MMU würde sich um den Rest kümmern. Mit dem was die Anwendung dann als virtuelle Adresse vom System mitgeteilt bekommt, "hier hast den angeforderten Speicherblock von Adresse X bis Y zur Verfügung", kann sie sich dann austoben. Könnte man noch um Aufrufe a'la "wieviel kann ich maximal bekommen?" oder "krieg ich mal 60 MB bitte?" erweitern.

Muß die Anwendung wirklich selbst Adressen abklappern und etwas für sich passendes aussuchen? Da kann ich echt nur staunen. Und Programieren soll auch mal Spaß machen?? ;)

Ok, sei es drum. Vielen dank an euch beide. Für die Geduld :) Ich schau noch ab und zu vorbei, ob jemand das hier berichtigen/ergänzen mochte.

Schade find ich nur, daß die üblichen Verdächtigen sich mal wieder stark zurückhalten, wenn man paar Grundlagen erorten müßte. Reizt wahrscheinlich nicht so sehr wie der stark fachspezifische Smalltalk. Man kann bei sowas wohl nicht so den Larry raushängen. Schade.

Spasstiger
2007-02-28, 03:09:55
Könnte man noch um Aufrufe a'la "wieviel kann ich maximal bekommen?" oder "krieg ich mal 60 MB bitte?" erweitern.
Jede Anwendung bekommt doch im Falle eine 32-Bit-Windows ganze 2 Gigabyte (jedes Programm hat seinen eigenen virtuellen Adressraum, das ist ja das fundamentale Sicherheitskonzept von virtuellem Speicher).
Selbst wenn 20 Anwendungen parallel laufen, hat jede Anwendung 2 Gigabyte zur Verfügung. Problematisch wirds erst, wenn alle Anwendungen ihren virtuellen Adressraum auch voll ausnutzen - dann reichen nämlich der physikalische Arbeitsspeicher und die Auslagerungsdatei auch nicht mehr aus.

Falls es immer noch nicht klar wurde: Virtueller Speicher nimmt dem Programmierer Arbeit ab, da er nicht wissen muss, wieviel Arbeitsspeicher zur Verfügung steht und wie dieser belegt ist. Außerdem gewährleistet virtueller Speicher, dass sich Anwendungen nicht gegenseitig reinpfuschen können.

HOT
2007-02-28, 10:14:18
:D :up: Und nu? Die Spiele werden auf 64bit "prächtiger" aussehen, weil man mehr Adressraum hat? Bei gleicher "Hauptspeichermenge"? Was schrieb denn HOT im besagten Posting? Was habe ich gequotet und was entgegnet? :uclap:
Das war auch mein voller Ernst, da Grafik auch immer Detailgrad bedeutet. Der ist aber bei 2GB Prozessgrösse beschränkt, siehe G3 als Paradebeispiel. Du kannst in der g3.ini den Detailgrad übelst erhöhen, G3 wirft dann aber unter 32Bit sofort eine Out-of-Memory Meldung. Erst mit Setzen des LAA Bits + 64Bit OS kannst du den Detailgrad bis auf 4GB Prozessgrösse ansteigen lassen und somit die Optik stark erhöhen, weil viele Dinge in Entfernung sichtbar werden. Das ist aber völlig unabhängig vom RAM Verbrauch, denn du kannst den G3 Prozess auf 3GB aufblasen, kommst aber dennoch mit 2GB RAM klar, da G3 auch die Auslagerung sinnvoll verwenden kann. Dieses Phänomen wird uns in Zukunft noch deutlich öfter über den Weg laufen, das ist meiner Meinung nach auch der Grund, warum viele Spiele auf 2008 oder später verschoben wurden.