Gå til innhold

32-bit vs 64-bit


amunds

Anbefalte innlegg

Hei.

 

Som jo "alle" vet kan ikke et 32-bits system ta ibruk mer enn 3GB minne.

1. Er dette pga systemet har max 2^32(4GB) Virtuelt Minne, og 1GB er satt av til OS ?

 

Neste spørsmål går på hvorfor OS ikke viser mer enn 3GB minne når man har 4GB installert.

2. Når OS viser 3GB (eller noe deromkring) når man har installert 4GB, hvorfor viser det ikke 2GB når man har 3GB ? Eller 1GB hvis man har 2GB ?

 

3. Har dette noe med mappingen mellom Virtuelt og Fysisk minne å gjøre ?

 

 

4. Med et 64-bits system vil man vel i teorien ha 2^64 (18 ExaByte) virtuelt minne ?

 

 

Har søkt mye på dette, og de fleste forklaringer er mer "sånn er det" fremfor å virkelig forklare hvordan det henger sammen.

(Kan litt om minnehåndtering (pages, page size, page frames, osv) så det absolutt grunnleggende kan den som eventuelt svarer hoppe over.)

Lenke til kommentar
Videoannonse
Annonse

Et 32-bits operativsystem har et totalt virtuelt minneområde på 4 GB, som du sier. Men dette minneområdet deles også av andre maskinvareressurser på maskinen, der hoved "synderen" er skjermkortet. Dersom du f.eks. har et skjermkort med 1 GB minne, så blir det 3 GB igjen til OS (litt mindre, for litt minne spises av andre ressurser også). Med 64-bit OS har du et uendelig mye større virtuelt minneområde, som gjør at f.eks. skjermkort-minnet ikke "kræsjer" med det du har av RAM.

 

OS i seg selv "skjuler" ikke noe minne som det reserverer. Når 3 GB er tilgjengelig for OS, så kan OS fordele dette til seg selv, og til programmene som kjøres.

 

På toppen av dette kommer begrensninger i "paged" og "non-paged" minne, som kan hindre en applikasjon i å kunne benytte seg av mer enn 2 GB minne. I 64-bit versjonen av Vista og Win 7 er 1 GB satt av til "paged" minne, og resten er dedikert til "nonpaged". Selv om du bare har 4 GB RAM, er det en klar fordel med 64-bit OS.

Lenke til kommentar

Et 32-bits operativsystem har et totalt virtuelt minneområde på 4 GB, som du sier. Men dette minneområdet deles også av andre maskinvareressurser på maskinen, der hoved "synderen" er skjermkortet. Dersom du f.eks. har et skjermkort med 1 GB minne, så blir det 3 GB igjen til OS (litt mindre, for litt minne spises av andre ressurser også). Med 64-bit OS har du et uendelig mye større virtuelt minneområde, som gjør at f.eks. skjermkort-minnet ikke "kræsjer" med det du har av RAM.

Det med skjermkort er litt feil. Det er bare integrerte skjermkort som tar av system RAM. Et PCIe skjermkort med 1GB RAM har de RAM brikkene på kortet, og påvirker derfor ikke RAM mengden i systemet.

Jeg mener å huske at grunnen til at du ikke når 4GB er overhead i adresseringen, som gjør at du i praksis ikke har mulighet til å adressere 2^32.

 

Edit:

4. Med et 64-bits system vil man vel i teorien ha 2^64 (18 ExaByte) virtuelt minne ?

Det er bare teoretisk. De forskjellige operativsystemene har forskjellige grenser som er satt av andre praktiske grunner. Du må nesten se i spesifikasjonene til hvert OS for å se hvor mye minne som er støttet i 64-bit utgaven.

 

 

 

Endret av OV-103
Lenke til kommentar

Det med skjermkort er litt feil. Det er bare integrerte skjermkort som tar av system RAM. Et PCIe skjermkort med 1GB RAM har de RAM brikkene på kortet, og påvirker derfor ikke RAM mengden i systemet.

Jeg mener å huske at grunnen til at du ikke når 4GB er overhead i adresseringen, som gjør at du i praksis ikke har mulighet til å adressere 2^32.

 

Hmmmm....

 

Jeg vet ikke om jeg ble så mye klokere nå egentlig.

Så du mener man ikke kan mappe mer enn 2^31,5 (sånn ca) ?

 

Jeg mener da veldig mange har stilt spørsmålet "jeg har 4GB men Windows viser ikke mer enn 3GB". Og det er egentlig det jeg lurer mest på.

Lenke til kommentar

Et 32-bits operativsystem har et totalt virtuelt minneområde på 4 GB, som du sier. Men dette minneområdet deles også av andre maskinvareressurser på maskinen, der hoved "synderen" er skjermkortet. Dersom du f.eks. har et skjermkort med 1 GB minne, så blir det 3 GB igjen til OS (litt mindre, for litt minne spises av andre ressurser også). Med 64-bit OS har du et uendelig mye større virtuelt minneområde, som gjør at f.eks. skjermkort-minnet ikke "kræsjer" med det du har av RAM.

Det med skjermkort er litt feil. Det er bare integrerte skjermkort som tar av system RAM. Et PCIe skjermkort med 1GB RAM har de RAM brikkene på kortet, og påvirker derfor ikke RAM mengden i systemet.

Jeg mener å huske at grunnen til at du ikke når 4GB er overhead i adresseringen, som gjør at du i praksis ikke har mulighet til å adressere 2^32.

 

Det påvirker selvsagt ikke RAM-mengden i systemet, men det opptar plass i det virtuelle minnområdet (på 4 GB) og sperrer følgelig for at OS kan benytte seg av dette minneområdet til andre ting. Dersom du har skjermkort med f.eks. 256 MB er dette et mindre problem. Jeg har forøvrig aldrig klart å klemme mer enn 3,5 GB RAM ut av en maskin med 32-bit OS.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...