Grundlagen Frage.

Happyman0815

New member
Themenstarter
Registriert
21 Dez. 2009
Beiträge
326
Hallo Leute!

Ich habe mal eine Frage die im Bereich Grundlagen liegt:

Warum unterstützen 32 Bit Betriebssysteme nur 3 GB Ram (zumindest windows)?

Wenn eine Adresse im Speicher 32 Bit lang sein darf, komm ich bei einem Adressraum von 2^32 auf 4 GB oder nicht?

Warum akzeptieren die denn nur 3 statt 4 GB?


Gruß
Happy
 
Quote aus Wikipedia, gefunden durch googlen nach "Ram Grenze 32 bit"

Der linear adressierbare Speicher kann praktisch nicht lückenlos mit RAM belegt werden, gängige Computerarchitekturen zweigen Adressraum für die Einblendung von System-ROM und IO-Bereichen ab, z. B. Onboard- und Erweiterungshardware wie Grafik- und Soundkarten, Centronics- oder USB-Schnittstellen. Im x86-Umfeld sind 2,0 bis 3,75 GB RAM üblicherweise nutzbar, die genauen Werte hängen vom Mainboard und Ausbau an internen Erweiterungskarten ab.
 
Wenn ich aber 2 GB RAM in den Rechner packe, dann kann ich den doch auch voll nutzen oder nicht? Da wird dann nichts abgezweigt? *kopfschüttel*
 
Is doch logisch, wenn du Adressen für 2,5 Gb Ram und alle Ports etc hast, dann hast du doch erstrecht genug für nur 2 Gb...
 
Warum unterstützen 32 Bit Betriebssysteme nur 3 GB Ram (zumindest windows)?
windows server 200 smal buisness war auch 32 bit und konnte die 4 giga verwallten... ohne PAE
streng genommen ist ein 32bis BS windows ein 36bit windows nur will MS uns das nicht nutzen lassen. unabhängig von der hardware gängelei der hersteller
 
[quote='Nommo',index.php?page=Thread&postID=755801#post755801]Is doch logisch, wenn du Adressen für 2,5 Gb Ram und alle Ports etc hast, dann hast du doch erstrecht genug für nur 2 Gb...[/quote]Wenn ich 2 GB Ram einbaue und Windows die auch so im Task Manager anzeigt, dann bin ich froh.

Stecke ich 4 GB rein und Windows frisst auf einmal 1 GB für Ports, bin ich sauer.

Ich hab den wahren Grund noch nicht verstanden.

@ darktrym
Wenn eine CPU einen 36 Bit Adressbus besitzen, dann kann man mit einem 64 Bit System aber auch nicht 2^64 Bit Große Speicher einsetzen oder?

@ lyvi
Warum will uns das MS nicht nutzen lassen? Es dürften doch eigentlich keine Probleme auftreten, da die meisten Programme doch mit 32 Bit klar kommen.


Ich hab eigentlich nen Fehler in meiner Rechnung erwartet, aber es scheint doch komplizierter zu sein :-)
 
Windows kann nur eine gewisse Anzahl von Adressen verarbeiten. diese müssen reichen für den RAM, alle Ports, Laufwerke, wasweissichnichalles. Insgesamt gibt es 2^32 Adressen. Die würden genau für 4gb RAM reichen, aber dann für nix anderes mehr. Ein Teil der Adressen ist daher reserviert für anderes, so kommt es, das nur ~2,5Gb RAM unter x86 laufen. Es sei denn man greift zur PAE, aber das ist wieder ein Thema für sich. Daher kannst du einen 2Gb Riegel voll benutzen, steckst du 4 Gb rein werden eben nur ~2,5 adressiert. Ob du dann sauer wirst oder nicht ist Windows egal...
 
Ok wir sagen: Wenn 4 GB Ram im Rechner sind, nimmt sich Windows 1,x GB für Pherepherie, etc..

Das ist dann ja so ziemlich festgesetzt. Wenn Windows das braucht um die Geräte zu betreiben, dann soll es so sein.


Wenn wir aber 2 GB Ram in den Rechner packen, müssten wir ja laut der Rechnung nur 500 MB über haben, da windows ja 1,x GB benötigt um die Hardware zu betreiben.

Das verstehe ich an deiner Aussage noch nicht ganz.
 
[quote='Happyman0815',index.php?page=Thread&postID=755821#post755821]
Wenn wir aber 2 GB Ram in den Rechner packen, müssten wir ja laut der Rechnung nur 500 MB über haben, da windows ja 1,x GB benötigt um die Hardware zu betreiben.[/quote]
Es wird nicht 1.x GB Ram von Windows belegt, sondern nur nur ein Adressraum reserviert, mit welchem man ca. 1,5GB Ram adressieren könnte!
 
Ach komm schon...so schwer ist das doch nicht ;)

4GB Begrenzung (32Bit): - 1,5GB für Windows = x GB nutzbar
Ausbau 4GB -1,5 für Windows = 2,5 GB nutzbar
Ausbau 3GB (für 4GB Adressen verfügbar) - 1,5GB Adressen für Windows = 2,5 GB Nutzbar
Ausbau 2GB (für 4GB Adressen verfügbar) - 1,5GB Adressen für Windows = 2 GB Nutzbar
Ausbau 1GB (für 4GB Adressen verfügbar) - 1,5GB Adressen für Windows = 1GB Nutzbar
???
 
achso ist das!

Ja wenn das so ist, hab ichs nun auch kapiert 8|

Dann wird Pherepherie auch nur über adressen angesprochen? Kann ich dann z.B. in C++ über Pointer auch Hardware ansprechen? Muss ja dann :-)


Ich finde es dann aber schon gewalitig was Windows dann frisst vor allem wofür so viele Adressen?!
lyvi schrieb ja schon, dass windows server 200 smal buisness auch 4 GB verwalten konnte. Da frag ich mich das das funktioniert hat.

Jedenfalls danke für die Aufklärung
 
[quote='Happyman0815',index.php?page=Thread&postID=755833#post755833]Ich finde es dann aber schon gewalitig was Windows dann frisst vor allem wofür so viele Adressen?!
lyvi schrieb ja schon, dass windows server 200 smal buisness auch 4 GB verwalten konnte. Da frag ich mich das das funktioniert hat.[/quote]

Nur mittels PAE, es gibt technisch keine andere Möglichkeit. Und es ist kein Problem von Windows - sondern ein Problem der Architektur, denn alles was Du in einem PC nutzen willst, braucht eine 32bit Adresse um ansprechbar sein, selbst unter einem 64bit OS - da allerdings nur zum booten.

VG JNS
 
Es gibt durchaus Mainboards welche den Adressbereich auf jenseits der Ram-Adressen schieben können, jedoch unterstützt das kein 32bit Windows vollständig.

Maximal können 3,5 GByte genutzt werden. (ca.)

Vista ab sp 1 oder 2 und windows 7 behaupten trotzdem man hätte 4 Gbyte Ram, was aber natürlich nicht 100% zutrifft.
 
Und dann gibts auch noch Mainboards die 8 Gigabyte Ram vertragen können aber den Adressbereich der Devices bereits bei 8 Gigabyte wieder einblenden. D.h. man hat dann bei maximalem RAM Ausbau statt volle 8 Gigabyte nur 6,5 Gigabyte zur Verfügung. also Augen auf beim Mainboardkauf ;)
 
Bitte umsteigen bericht bei heise
Die 64-Bit-PC-Technik geht an den Start
leider habe ich nicht gerade alles gefunden,
wenn du ein bischen weitersuchst auf heise findest du dort einige kleine berichte über PAE Win32bit was in wirklichkeit 36bit ist usw.

noch ein beispiel aus der praxis:
vista hat mit dem servicepack den gleichen kernel bekommen wie der server2008, aber nur der server kann mer als 4 giga ram verwallten :?:
also will uns MS zwingen für mehr hardwareadressen zu gebrauchen ein x64 bit system zu benutzen.
- abhängigkeit des BS herstellers
- abhängigkeit der hardware architektur
- abhängikeit des PC herstellers die nötigen sachen PAE ins bios zu implementieren

nur wenn alle drei punkte zusammenspielen ist es möglich das ganze zu nutzen, unterscheiden muss man auch ob das BS auf PC hardware installiert wird,
oder auf eine "server hardware".

für die zukunft ist sicher 64bit angesagt da wir immer mehr Hardware adressen nutzen und die durch ihr "tempo" immer gössere reservierte speicheradressräume haben müssen,
um ohne unterbrüche an der kiste arbeiten zu können.

edit :
http://www.microsoft.com/
Die 4GB Problematik...
Memory Mapped I/O wiki
Who ate my memory?
RAM, Virtual Memory, Pagefile and all that stuff deutsch
Beschreibung der 4 GB RAM Tuning-Funktion und der Option zur physikalischen Adresserweiterung
Wie Windows mit großem Hauptspeicher umgeht
Der im Dialogfeld "Systeminformationen" in Windows Vista gemeldete Arbeitsspeicher ist kleiner als erwartet, wenn 4 GB RAM installiert sind
4 GByte wirklich nutzen
Operating Systems and PAE Support
 
Die 64-Bit-PC-Technik geht an den Start[/url]
leider habe ich nicht gerade alles gefunden,
wenn du ein bischen weitersuchst auf heise findest du dort einige kleine berichte über PAE Win32bit was in wirklichkeit 36bit ist usw.

noch ein beispiel aus der praxis:
vista hat mit dem servicepack den gleichen kernel bekommen wie der server2008, aber nur der server kann mer als 4 giga ram verwallten :?:
also will uns MS zwingen für mehr hardwareadressen zu gebrauchen ein x64 bit system zu benutzen.
- abhängigkeit des BS herstellers
- abhängigkeit der hardware architektur
- abhängikeit des PC herstellers die nötigen sachen PAE ins bios zu implementieren

nur wenn alle drei punkte zusammenspielen ist es möglich das ganze zu nutzen, unterscheiden muss man auch ob das BS auf PC hardware installiert wird,
oder auf eine "server hardware".

für die zukunft ist sicher 64bit angesagt da wir immer mehr Hardware adressen nutzen und die durch ihr "tempo" immer gössere reservierte speicheradressräume haben müssen,
um ohne unterbrüche an der kiste arbeiten zu können.

edit :
http://www.microsoft.com/
Die 4GB Problematik...
Microsoft nutzt PAE nicht nur bei Vista sondern auch bei XP-SP3 wenn mich nicht alles täuscht. Allerdings lediglich für das Execution Bit welches dazu dient Arbeitsspeicher als Befehlsspeicher oder als Datensspeicher zu markieren. So wird durch das eine extra Bit aus einer "von Neuman Architektur" eine "Havard Architektur" ;) Der Vorteil der Sache ist dass die CPU aus als Datenspeicher markierter Arbeitsspeicher keine Befehle in den Befehlsspeicher läd sondern eben maximal in die Register. Das heißt die alten Speicherüberlauftricks können damit wirksam eingedämmt werden.
Wieso PAE nicht als allgemeine Arbeitsspeichervergrößerung benutzt wird, liegt daran dass, genau wie beim Umstieg auf 64 Bit, die Treiber und Programme das auch untersützen müssen (vgl. Benutztung von EMS oder XMS Speicher unter DOS, 16 Bit Grenze). Deshalb steigt man lieber gleich auf 64 Bit um weil das einfacher und sauberer ist, ohne Tricks abgeht und man sowieso irgendwann auf 64 Bit umsteigen hätte wollen. Man spart sich also einen fehleranfälligen Zwischenschritt.
Bei Servern ist das was anderes, dort gibt es spezielle Anwendungen die PAE umgehen können z.B. riesige Datenbanken. Sowas hat der gemeine Consumer aber nicht und kann das auch gar nicht bezahlen. Aber auch hier wird auf 64 Bit umgestiegen.

Der Unterschied zwischen Server und PC Hardware ist mir in dem Zusammenhang nicht klar, es liegt lediglich an dem OS ob PAE/x64 zur Speichererweiterung zur Verfügung steht und auch genutzt wird. Das Board muß für beide Fälle eines sein dass die Entsprechende Anzahl von Adressbits mitbringt.

Spannend ist ob wir in 20 Jahren nochmnal den Faktor 1024 in der RAMgröße schaffen und dann 128 Bit Betriebsysteme brauchen?

Übrigends, Win7 Home unterstützt nur 16 Gigabyte RAM, Win7 Prof schon 96 Gigabyte. Aktuelle Core i7 Sockel 13xx Boards schaffen bis zu 24 Gigabyte.

Beste Grüße,
Andy
 
mit 16 GB waers schon interessant beim Systemstart das BS samt programmen komplett von der HDD ins RAM zu haun, das System sollte dann relativ flott sein :D
 
Spannend ist ob wir in 20 Jahren nochmnal den Faktor 1024 in der RAMgröße schaffen und dann 128 Bit Betriebsysteme brauchen?
MS lies ja schon mal "durchsickern" das 128 bit in entwicklung sind.
es wurde aber nicht gesagt ob das nächste damit kommt oder erst das übernächste.
Der Unterschied zwischen Server und PC Hardware ist mir in dem Zusammenhang nicht klar, es liegt lediglich an dem OS ob PAE/x64 zur Speichererweiterung zur Verfügung steht und auch genutzt wird. Das Board muß für beide Fälle eines sein dass die Entsprechende Anzahl von Adressbits mitbringt.
es gibt / gab server boards die 36bit ohne PEA adressieren konnten soweit ich weiss.

andere frage :
wie sieht das denn beim neuen Ubuntu aus, oder linux allgemein.
geht das ohne probleme oder haben die genau das selbe problem mit dem ansprechen des speichers bei voller hardwareunterstüzung der treiber.
edit :
mit 16 GB waers schon interessant beim Systemstart das BS samt programmen komplett von der HDD ins RAM zu haun, das System sollte dann relativ flott sein
das lohnt sich schon ab 3 Gb ram bei xp.
den ganzen kernel im ram zu haben heisst nur noch bei einem neuen programmstart von der HDD das programm zu laden.
viel benutzte programme kann man auch als dienst starten und werden dann ebenfalls ins ram geladen.
das beschleunigt das system ähnlich wie eine SSD. ;)
bis auf die selten genuzten proramme und grosse dateien zum speichern, nicht vergessen bei einem reboot braucht das system
eine kleine ewigkeit bis alles im ram ist, ca 1.5 giga.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben