» »

Pomnilnik v Windows: 1. del

TechNet - O pravšnji količini pomnilnika in najboljši nastavitvi ostranjevalne datoteke na Windows 2000/XP/Vista je bilo prelitega že toliko črnila, da bi pričakovali, da je ta tema javno razdelana in poljudno jasna vsakomur. V resnici je situacija daleč od tega, zato se je znani računalniški guru Mark Russinovich na svojem blogu odločil narediti zmedi konec in reči bobu bob in popu pop. Poglejmo, kako Windows obravnava pomnilnik.

V prvem prispevku, ki sicer datira v julij, so opisane omejitve za fizični pomnilnik. 32-bitna različina Windows Server 2008 Standard podpira 4 GB, Datacenter pa 64 GB, medtem ko 64-bitni verziji prepoznata do 32 GB oz. 2 TB. Razlog za omejitev v 32-bitnem okolju je način naslavljanja. Upravitelj pomnilnika (Memory Manager) zapisuje podatke o vsaki strani fizičnega pomnilnika v 28-bitno PFN-bazo v virtualnem pomnilniku, tako da 128 GB pomnilnika zahteva 930 MB veliko bazo. Skupno ima Windows dostop do 4 GB (232) naslovnega prostora navideznega pomnilnika, ki se razpolovi v območje za aplikacije in sistemsko področje, kjer prebivajo še jedro (kernel), gonilniki, predpomnilnik (cache) in druge strukture, zato je omejitev PFN na 930 MB smiselna. Posnetek Upravitelja opravil (Task Managerja) v takem okolju na steroidih pa izgleda takole.


32-bitni operacijski sistemi za odjemalce (Windows 2000 Professional, XP, Vista) pa podpirajo največ 4 GB. Z razvojem drugega servisnega paketa za XP je Microsoft uvidel, da 4 GB ne bo dovolj za vse večne čase, zato so začeli testirati PAE (Physical Address Extensions), ki na strojih s podporo za DEP (Data Execution Prevention) omogoči dostop do pomnilnika nad 4 GB. Žal so ugotovili, da so taki sistemi izrazito nestabilni zaradi kopice različne strojne opreme z čudnimi gonilniki, ki gostuje po domačih računalnikih (načeloma pa ne strežnikih). PAE je sicer moč vključiti, privzeto pa je izključen. Zaključimo torej lahko, da 32-bitni Windows za domačo uporabo zmorejo naslavljati do 4 GB pomnilnika, vendar uporabniki največkrat nergajo, da sistem ne vidi vseh megabajtov do zadnjega. Razlog je v tem, da mora sistem v te spodnje 4 GB vključiti še druge pomnilnike (grafična kartica ipd.), zato se znajde zadnji del sistemskega pomnilnika nad 4 GB in je nedostopen. V Visti je prav zato kozmetični popravek, ki prikazuje ves nameščen pomnilnik, čeprav to dejstva o dostopnosti ne spremeni. Seveda 64-bitne verzije teh težav nimajo. 264 je pač velika številka.

Glavno vprašanje, ki sa ga mora zastaviti končni uporabnik, je koliko pomnilnika potrebuje. V teoriji seveda, saj je v praksi pomnilnik tako poceni, da 4 GB ne predstavljajo omembe vrednega izdatka. Količino res potrebnega pomnilnika lahko ocenimo z opazovanjem prostega pomnilnika v Upravitelju opravil med poganjanjem spominsko zahtevnih programov. Windows razume pod pojmom prost oz. dostopen pomnilnik tisti del, ki ni zapolnjem s procesi, jedrom ali gonilniki. Seveda Upravitelj pomnilnika tudi ta prostor izkoristi za npr. predpomnilnik (cache) ali prefetch, saj še vedno velja, da je prazen RAM proč vržen RAM.

V nadaljevanju si bomo ogledali navidezni pomnilnik in nastavitve ostranjevalne datoteke.

50 komentarjev

strani: « 1 2

DexterBoy ::

Zmeda pa taka :))
Zaradi RAMa (6GB) imam doma nameščeni obe verziji XP-jev; 32 in 64 bitov. Ta prvo človek rabi za 'everyday usage', ampak, če se moraš učiti za MS izpite, pa potrebuješ kakšen VMware, da lahko tekoče poganjaš dve ali tri virtualne postaje. Aja, ali je kdo omenil igrice? |O
Saj vse lepo in prav, samo... tale omejitev 32 bitnih sistemov je malo šmokasta... po drugi strani pa še vedno premajhna izbira 64-bitnih programov (glede na 32 bitne).
Sploh pa, čez sedem let bo zagotovo bolje... google OS, 24 jedrni proc, 32 giga rama, 5 tera diska in osemjedrna grafikulja :D
Ko ne gre več, ko se ustavi, RESET Vas spet v ritem spravi.
http://www.avtofil.si/

SmeskoSnezak ::

Ah, če bi folk vsaj malo pripomogel k opustitvi 16 in 32 bitnih programov, bi že blo neke. Pa je lih obratno... vsak če met neke stare programe gor na NOVIH Winsih. Dajte že vsi začet uporablat 64 bitne Windowse, in tistim, ki izdelujejo programe za "vas", začnite težit, naj se spravijo delat programe za 64 bitov in več jeder, pa bo prec bolše!!

Jaz nasledno leto iz dvojedrnega šaltam na štiri jedra in 64 bitn OS in to samo iz tega principa, da se že enkrat opusti ta stara navlaka.... lih zdaj pa študiram, ker program za virtualizacijo bi si gor na kišto pokno.
@ Pusti soncu v srce... @

KoMar- ::

Mah, meni z 2 GB na Visti ni bilo hudega, zdaj na 7 mi je pa še manj. Je pa res, da sem precej redoljuben in nimam nameščenega / v trayu nič razen tistega, kar res potrebujem...

Zgodovina sprememb…

  • spremenil: KoMar- ()

Ch4N93 ::

Kozmetični popravek v prvem in zadnjem odstavku: pravilno je ostranjevalna datoteka in ne odstranjevalna
Ni nam lahko...

Vapo1 ::

kolko procesrojev ima tista mašina na kateri je screenshot task managerja anrejen???


.. in kako je to mogoce ??

krucymucy ::

zgleda da 16 štirijedernikov. Pač nek cluster.

Zgodovina sprememb…

  • spremenilo: krucymucy ()

Brane2 ::

/PAE ti v bistvu prinese bolj malo. Ja, vsega skupaj je lahko več RAM-a, vendar posamezna aplikacija vidi natanko toliko kot prej- še ne 4GB.
On the journey of life, I chose the psycho path.

mktech ::

ze dve leti imam izklopljen pagefile in laufam racunalnik na 1GB rama. vecjih tezav ni.

filip007 ::

Nič novega, pač 32bit aplikacija ponavadi ne porabi več kot 2GB samo zase in to pomeni, da sploh ne rabimo 4GB in to bo tako še kar nekaj časa.

3GB je najboljši kompromis (2x1GB+2x512MB) edina pametna stvar ki so poštudirali trgovci in dela še povrhu super v Dual Channel.

t3hn0 ::

64 bitni procesorji bojda nimajo 264 naslavljanja! temvec "samo" enih 246 al tam nekje...kar je se vseeno velik :)
^.^

rgv45vg4t335 ::

Nič novega, pač 32bit aplikacija ponavadi ne porabi več kot 2GB samo zase in to pomeni, da sploh ne rabimo 4GB in to bo tako še kar nekaj časa.

3GB je najboljši kompromis (2x1GB+2x512MB) edina pametna stvar ki so poštudirali trgovci in dela še povrhu super v Dual Channel.


Kaj pa če imaš odprte dve ali tri take aplikacije?
...
Če kupuješ novo mašino je 2x1GB+2x512KB dražje kot 2x2GB. Razen tega se to tudi slabše navija oz. moraš pri nakupu zelo paziti, da so timingi pri različnih velikostih enaki. Če nadgrajuješ 2GB mašino z 32 bitnimi Windowsi je pa dodatni 2x512 dobra izbira.
MSI K9A2 Platinum@260MHz, Athlon X2 4850e@3GHz, 4GB RAM@1000MHz
Radeon HD 4850

Brane2 ::

64 bitni procesorji bojda nimajo 264 naslavljanja! temvec "samo" enih 246 al tam nekje...kar je se vseeno velik :)



Nimajo _fizično_ 64 bitnega naslavljanja. To pa z dobrim razlogom.

Signalni pini na ohišju procesorja stanejo in nima smisla imeti gor pine, ki so itak stalno "0", ker nimaš niti slučajno toliko RAM-a, da bi bili potrebni.

Fajn pa je, da arhitektura to omogoča, da ko in če se bo pokazala potreba in zmožnost laufati tako veliko RAMa, proizvajalec samo vrže ven pripadajoči čiperaj in vsi programi delajo nespremenjeni.
On the journey of life, I chose the psycho path.

filip007 ::

bernardv
Si že imel kdaj odprto dva programa ki bi porabila vsak zase 2GB jaz ne...crysis ali stalker porabita največ 1.5GB...

No res pa da se najdejo bedaki ki imajo odprto na 4 jedrnem 20 stvari pa še kakašen spyware gor in to pol to...

Jaz mam eno aplikacijo na enkrat ponavadi...Xeon 3GB,3GB ram,HD3870 pa Far Cry 2 vse do konca pa dela tekoče na XP.

Matrin ::

Js mam konstantno odprtih 10-20 aplikacij. :D Res, da niso neke hudo zahtevne aplikacije, 2,5GB rama mam zaenkrat več ko dovolj.

jype ::

t3hn0> 64 bitni procesorji bojda nimajo 264 naslavljanja! temvec "samo" enih 246 al tam nekje...kar je se vseeno velik :)

V bistvu še manj:

Opteron:
address sizes : 40 bits physical, 48 bits virtual

Core 2:
address sizes : 36 bits physical, 48 bits virtual

Core 2 Xeon:
address sizes : 38 bits physical, 48 bits virtual

In tako dalje...

Bismark> Si že imel kdaj odprto dva programa ki bi porabila vsak zase 2GB jaz ne...crysis ali stalker porabita največ 1.5GB...

Saj se ne pogovarjamo o igralnih konzolah. 8GB pomnilnika je _minimalno_ za resno delo.

filip007 ::

Kaj sploh potem počnete z 8GB razen za 64bit Photoshop in plakat velik format slike...?

Core 2 Xeon:
address sizes : 38 bits physical (kaj to pomeni da več rama vleče ali kaj)

Vlady ::

Zmeda pa taka :))
Zaradi RAMa (6GB) imam doma nameščeni obe verziji XP-jev; 32 in 64 bitov. Ta prvo človek rabi za 'everyday usage', ampak, če se moraš učiti za MS izpite, pa potrebuješ kakšen VMware, da lahko tekoče poganjaš dve ali tri virtualne postaje. Aja, ali je kdo omenil igrice? |O
Saj vse lepo in prav, samo... tale omejitev 32 bitnih sistemov je malo šmokasta... po drugi strani pa še vedno premajhna izbira 64-bitnih programov (glede na 32 bitne).
Sploh pa, čez sedem let bo zagotovo bolje... google OS, 24 jedrni proc, 32 giga rama, 5 tera diska in osemjedrna grafikulja :D

Jaz sem to že storil pol leta nazaj, in sem več kot zadovoljen. Vsi 32-bitni programi gor laufajo tako kot je treba, problemi so ponavadi samo s kakimi starimi, ki pa itak ne delajo niti na 32-visti. Ampak na srečo prihajajo ven novejše verzije in trenutno nimam programa, ki mi nebi delal in bi ga potreboval. Drugače pa imam 4GB na tej mašini in prenosniku in na obeh sem do sedaj maksimalno pokuril 3,5GB. Na obeh pa seveda vista x64.
Drugače se pa jaz bolj bojim, da bomo spet trčili v kak zid pri diskih... Koliko sploh je največji disk, ki ga lahko naslovijo winsi?
"Lotereya - naibolee točnyj sposob učeta količestva optimistov"

Matako ::

Js mam konstantno odprtih 10-20 aplikacij. :D Res, da niso neke hudo zahtevne aplikacije, 2,5GB rama mam zaenkrat več ko dovolj.


Načeloma število aplikacij ni tako *zelo* neposredno povezano s porabo fizičnega RAM pomnilnika, kot bi človek po občutku pričakoval. Programi, ki niso računsko zahtevni bodo brez stalne interakcije zelo hitro deložirani s strani algoritma, ki upravlja MMU.
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()

Matako ::


Drugače se pa jaz bolj bojim, da bomo spet trčili v kak zid pri diskih... Koliko sploh je največji disk, ki ga lahko naslovijo winsi?


Največja teoretična velikost NTFS logičnega diska po specifikaciji je 2^64 B minus neka sitnica.

Podobno je največja velikost datoteke na NTFS 2^64 B minus spet nek manjši fiksen pribitek.

Konkretna implementacija, torej NTFS datotečni sistem implementiran v WIndows XP teoretično omogoča do 2^32-1 alokacijskih enot (clusters) Velikost enote je nastavljiva in je kompromis - pri tipičnih 4KB je to potem skoraj 16TB, pri še vedno kar razumnih 64KB imaš potem skoraj 256 TB.

To so vse teoretične meje - v praksi lahko nabašeš na težave že veliko prej ker večje logične enote zavzamejo več resoursov, poleg tega lahko pričakuješ, da bo na večjih diskih več datotek (aha obstaja max tudi za to), kar zna drastično zmanjšati učinkovitost dostopa in performans običajnih operacij (recimo lahko se zgodi, da preimenovanje ali brisanje datoteke kar na enkrat ne bo več tako hitro, zaradi mase reindeksiranja in pomnilnika, ki je mogoče potreben za to - to je vse odvisno od implementacije).
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()

jeronimus ::

Koliko je pa kej omejitev velikosti diskov za ext3 ali reiserFS?

vbohinc ::

Ja je pač tako, da se je 32-bitna tehnologija močno postarala in počasi drsi v pozabo (kar se tiče OS). Sicer pa bo MS opustil 32-bitni OS, potem pa naj bi delali samo še 64-bitne.
Windows Server 2008 is the last 32-bit operating system that we'll produce," Laing then pronounced. "Post-2008, we will transition to 64-bit. Many Microsoft products are becoming 64-bit only today, because they're realizing the benefits of 64-bit computing. Exchange Server 2007, Windows Compute Cluster Server, and Windows Server Virtualization are all 64-bit only today, because they give significant benefits.

zee ::

@jeronimus: Citaj.

Te serije prispevkov se pa res veselim, saj se bo s tem (morda) zakljucilo pisanje tem, kjer avtorji jamrajo, da jim Windows XP/Glista ne vidijo vseh 4 GB pomnilnika.
zee
Linux: Be Root, Windows: Re Boot
erwin3: Dual Xeon X5650, 32 GB RAM, 14 TB HDD

vbohinc ::

ext3 - 2 TiB do 32 TiB
RaiserFS - 16 TiB

1 tebibyte = 240 bytes = 1,099,511,627,776 bytes (terabyte se uporablja kot sinonim - 1012 bytes = 1,000,000,000,000 bytes)

Zgodovina sprememb…

  • spremenil: vbohinc ()

MrStein ::

Vlady:
Koliko sploh je največji disk, ki ga lahko naslovijo winsi?

Je vec omejitev.
Ena od prvih, v katero bomo trčili je omejitev MBR načina particioniranja diska.
To je predzgodovinska stvar nekje iz ranih osemdesetih...

Omejitev je nekje 2 terabajta na particijo ozirom kar celi disk.
Torej bomo trčili vanj že naslednje leto (uporabniki RAID polj pa so že itak).

Rešitve: namesto MBR particijske tabele uporabit nekaj drugega :
- Windows Dynamic Disk - neka bedarija, katero je Microsoft uvedel z Windows 2000 - noben ne uporablja, noben program ne podpira - škoda omembe
- GPT - GUID Partition Table - Intelov izum - Mac-i to uporabljajo odkar imajo Intel procesorje, Windows Vista in 2008 tudi podpirata - uporablja 64 bitni števec za sektorje*, torej je dovolj za velikost yottabyte-ov ... Pa sektorji niso nujno 512 bajtov veliki. Diski bodo drugo leto že imeli večje, 1024, 4096 ...
Teštiram če delaž - umlaut dela: ä ?

Jst ::

>8GB pomnilnika je _minimalno_ za resno delo.

Beh, a optimizacije na CPU, Kernel level ni resno delo?? Očitno sta bila dva zadnja projetka neresna. Pa še eden iz p4 hyperthreading. In nekaj časa sem bil primoran (zaradi več dejavnikov) na enemu računalniku laufati Visto 64bit, 32bit na 1GB!!!! FOR GOD SAKE! Neresno.
Proton decay is a tax on existence.

Gavran ::

Ah, če bi folk vsaj malo pripomogel k opustitvi 16 in 32 bitnih programov, bi že blo neke. Pa je lih obratno... vsak če met neke stare programe gor na NOVIH Winsih. Dajte že vsi začet uporablat 64 bitne Windowse, in tistim, ki izdelujejo programe za "vas", začnite težit, naj se spravijo delat programe za 64 bitov in več jeder, pa bo prec bolše!!

Jaz nasledno leto iz dvojedrnega šaltam na štiri jedra in 64 bitn OS in to samo iz tega principa, da se že enkrat opusti ta stara navlaka.... lih zdaj pa študiram, ker program za virtualizacijo bi si gor na kišto pokno.


In seveda 90% uporabnikov NUJNO rabi formulo 1 (=64bitni Word in Firefox) za vsakodnevno vožnjo v službo...

Dejstvo je, da večina uporabnikov takih zmogljivosti ne rabi.
Bodimo strpni do virusov. Tudi virusi gripe, prehlada in AIDSa morajo živeti.

Jst ::

Zmogljivosti gor ali dol, tehnološki napredek nam sedaj omogoča, da imamo vse programe, ki so za zmerno rabo* (ne profesionalno) v RAMu za par desetakov EUR. Znanstvena fantastika leta 2000.

*IE, Opera, Folding, Torrent, Firefox, Predvajalnik, bilokateri_Office, pa še kakšno RAD (Rapid Application Development) okolje.
Proton decay is a tax on existence.

McMallar ::

@Bismark:
Kaj sploh potem počnete z 8GB razen za 64bit Photoshop in plakat velik format slike...?


No, to me je malo zmotilo. Si kdaj uporabljal VMWare (ali Virtual PC) za delo? Če rabiš virtualizirat 3-4 strežnike in še kakšno delovno postajo dvomim, da ti bo to uspelo z 2GB RAM. Še z 4 imam včasih težave...

In ja, če imaš ti 1,5GB za Crysis ali Stalker-ja dovolj prav. Vse vesoljno občestvo pa ne uporablja računalnikov samo za takšne namene kot ti.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

m0LN4r ::

Se še spomnite starih časov? Ko samo imel prehod z 16-bitov na 32? al pa da ne omenjam 8 bitov.
Dokler bo market in marketing lahko cuzal denar iz 32 bitov se ga ne bomo znebili in to bo trajalo še kar nekaj let...
http://www.instantsfun.es/

Zgodovina sprememb…

  • spremenil: m0LN4r ()

Pyr0Beast ::

Ah, kje so cajti EDO rama, ko si ga malce postrani pogledal pa je ze nehal delati :)
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

Jst ::

Ko sedaj pomislim, da laufam v virtualboxu XPje, double time, povezava z bazo na serverju, x-time, 2 RAD okolja, pripadajoči help.... ojoj. Strežnik + 3 računalniki + prenosnik (+telefon, router (imam posebej kišto)). 32GB + 8GB + 4GB + 1GB + 1GB + 1GB + 256MB.

Potem se pa spomniš na čase, ko je bila razlika v grafični z 1MB in 2MB kakih sedanjih 150EUR. Oh ja...

+ še prekleta miš ima sedaj svoj ram! (za tiskalnik pa ne vem)
Proton decay is a tax on existence.

DexterBoy ::

Stari cajti?
Po popoldanskem šihtu ob polnoči igrati Forsaken s slušalkami na glavi brez druge osvetlitve kot tiste od monitorja? Ja, to so bili cajti...:D
Ravnokar pogledu še en del Galaktike pa prebral fse odgovore tuki. Ja, res je, nam ne bo nikoli dovolj. Smo kot hrčki, ki samo nabiramo in shranjujemo in shranjujemo in shranjujemo...
Za kaj nam bo 8 giga rama? @McMallar je fse povedu. Sploh pa, če uporabljaš VMware še iz časov DDR rama in athlon XP procesorjev, poznaš občutek, ko si na 512 ali giga rama pognal še en virtualni PC... lahko si spil čaj, medtem, ko se je virtualni OS postavu pokonc.
Omejitve diskov oziroma NTFS datotečnega sistema? Veeeeliko prostora lahko naslavijo (saj piše nekje na MS straneh), ampak, je nekdo že napisal; problem bo že pri raziskovalcu in premikanju datotek in ostalemu delu... indeksacija bo delala in delala in delala... močno dvomim, da bi potlej kar letelo. Res je tudi, da ne morejo nasloviti vseh 2*64 spomina, nekdo je tu to že lepo razložil.
Sploh pa, ne pozabite si povečati paging file, ko dodate ram. MS tudi priporoča, da imate v primeru dveh diskov ali več (in da nista/o v raidu), izmenjevalno datoteko na drugem disku, kot pa je sistem; naj bi se malo poznalo pri hitrosti. Enkrat sem nekje dolgo nazaj poslušal, da naj bi si človek naredil (kreiral) oz. namenil particijo na disku, ki naj bi bila namenjena zgolj in samo izmenjevalni datoteki... osebno tega še nisem preizkusil...kar je pa v linuxu že običaj :))
Ko ne gre več, ko se ustavi, RESET Vas spet v ritem spravi.
http://www.avtofil.si/

Spc ::

Ah, če bi folk vsaj malo pripomogel k opustitvi 16 in 32 bitnih programov, bi že blo neke. Pa je lih obratno... vsak če met neke stare programe gor na NOVIH Winsih. Dajte že vsi začet uporablat 64 bitne Windowse, in tistim, ki izdelujejo programe za "vas", začnite težit, naj se spravijo delat programe za 64 bitov in več jeder, pa bo prec bolše!!

Kaj ti to pomaga če pa nočejo.
Recimo za primer bom dal SoundBlaster Live Platinum kateremu ne majnka čisto nič ampak 64bitnega driverja nebodo šli napisat pa da se obesiš (Z vsem kaj spada zraven in ne samo da lahko poslušaš 2.1)
Če hočem imeti podporo moram leteti v trgovino po X-Fi in plačati vsaj 180€ (platinum verzija), da dobim nekje ekvivalent Live platinuma.
Telemach is a land of confusion.
http://tiny.cc/z64fdx

Jst ::

Dexter:

Swap particijo sem si jaz delal od win2000 pa še do nekje xp sp2. Vedno na koncu diska. Zakaj? *nix way of thinking. Potem sem ugotovil, da je performans na koncu diska 30% nižji, kot na začetku in sem to prakso za winse opustil.

Particija na drugem disku se splača, če je ta disk hitrejši ali pa enako hiter.
Proton decay is a tax on existence.

Zgodovina sprememb…

  • spremenil: Jst ()

smoke ::

64 bitni procesorji bojda nimajo 264 naslavljanja! temvec "samo" enih 246 al tam nekje...kar je se vseeno velik


V bistvu lahko procesor, ki je v 64bit mode naslovi 2^52 naslovov, ce je vklopljen Physical Address Extension. :)

uporcek ::

Živjo

Imam idejo glede rama. V osnovi 32-bitni sistem uporablja 32-bitni način zapisovanja v ram? ostalioh 32-bitov nima nobene vloge? Novejše plošče in procesorji podpirajo 64-bitni sistem.kako bi zgledalo, če bi ram deloval po osnovi RAID 0, se pravi v isti vrstici 64-bitnega rama zapiše 2 32-bitnega zapisa vrednosti procesirane vrednosti. Kar pomeni če bi imeli 2GB rama in bi ga dvojno zapisali bi lahko imeli skorja da enak efekt kot pri 4gb rama, oziroma kar se tiče hitrosti pa nimam pojma. Na podoben način bi lahko deloval tudi procesor, in bi lahko dobili 2 navidezna vzporedna jedra. Seveda je veliko vprašanje, če bi taka zadeva sploh delovala na sistemih, ki so podprti za 64-bitno tehnologijo. Kar pa bi bilo zanimivo prašati microsoftovce. Seveda v osnovi bi bilo potrebno precej spremeniti jedro 32-bitnega windowsa.

Zanimivo pa bi bilo, če bi imeli 3GB rama kar bi dejansko pomenilo 6GB rama in tako naprej. ;)
Če tukaj bere kakšen microsoftovec oziroma ga kdo pozna naj mu naloži mal dela. In na koncu sporoči odgovor ali ugotovitve.

LP U

Jst ::

>Imam idejo glede rama. V osnovi 32-bitni sistem uporablja 32-bitni način
>zapisovanja v ram? ostalioh 32-bitov nima nobene vloge?

Brainstorming, a žal napačen. Procesorji, ki jih uporabljamo v PCjih imajo x86 arhitekturo. To pomeni niz ukazov, ki jih podpirajo. Če se ne motim, se je že v P2 pojavil MMX. To so dodatni ukazi za delo z zelo specifičnimi podatki. 64bitni procesor je "podobno" "samo" "nadgrajen", ne moreš ločiti 32bit in 64bit dela. To je en del. Če deluje v 32bit mode, se pač 64bit ukazi ne uporabljajo. Ne moreš jih pa paralelo uporabljati, ker grejo tako 32 kot 64bit skozi isti cevovod. (Tle bom nehal z tech talk)

Kot veš, deluje računalnik na podlagi 0/1. Naslavlanje pomnilnika pomeni, da procesor za delo, ki ga bo opravljal, potegne te podatke iz RAMA. 32bit pomeni, da lahko "pogleda" 232 RAMA, kar je 4GB.

Naslavlanje je samo velikost območja, iz katerega lahko CPU vleče podatke.


--

Sem razložil dovolj simpl, da si razumel?
Proton decay is a tax on existence.

uporcek ::

Ja res je da nebi šlo tako preprosto in lepo. vendar mi pa nekaj ne gre v glavo. Če imaš fizično enako ploščico rama recimo 1Gb ddr2 800MHz. Kako je lahko enaka kapaciteta za 32-bitni sistem in za 64-bitni sistem. Na obeh ti fizično pokaže enako rama. Ali oba enako uporabita ves ram ali ga 32-bitni sistem uporabi samo polovico? oz drugače rečeno za pol rama te virtualno na....?

LP U.

rgv45vg4t335 ::

Ojej...:)

Byte je 8 bitov, vseeno kakšen software imaš inštaliran.
MSI K9A2 Platinum@260MHz, Athlon X2 4850e@3GHz, 4GB RAM@1000MHz
Radeon HD 4850

Gapi ::

@Jst Če se ne motim, se je že v P2 pojavil MMX

Že v P1 tm nekje od 166Mhz naprej.

Spc ::

Torej če imaš 4GB rama in 2GB grafično te še vedno lahko reši windows server pri 32bitnih sistemih.
:))

kolko procesrojev ima tista mašina na kateri je screenshot task managerja anrejen???

.. in kako je to mogoce ??

64 Processorjev in 2TB rama.
Datacenter je vsega zmožn.
:D


32bit pomeni, da lahko "pogleda" 2^32 RAMA, kar je 4GB.

Core 2:
address sizes : 36 bits physical, 48 bits virtual



Torej če uporabimo 64bitni os pridobimo te 4 bite zraven ?
Kar se mi zdi bedarija.
Telemach is a land of confusion.
http://tiny.cc/z64fdx

Zgodovina sprememb…

  • spremenil: Spc ()

squngy ::

ni 4 bite več v smislu 2^32+4 (4294967600 oz 4GB + 4bit) , ampak 2^(32+4) (68719476736 oz 64GB), kar je pa že precejšna razlika.

Edit: 4??? ke si pa 4 dobu?

Zgodovina sprememb…

  • spremenil: squngy ()

Spc ::

Ja 4 ja 32+4 torej dobiš 64GB.
:)

Edit: 4??? ke si pa 4 dobu?

32+4 = 36

Tako piše za core 2 duo.

18 Exa Byteov pa bi bilo za pravilen 64bitni sistem (kar je pa ultra dosti več).
Telemach is a land of confusion.
http://tiny.cc/z64fdx

Zgodovina sprememb…

  • spremenil: Spc ()

Brane2 ::

Ja res je da nebi šlo tako preprosto in lepo. vendar mi pa nekaj ne gre v glavo. Če imaš fizično enako ploščico rama recimo 1Gb ddr2 800MHz. Kako je lahko enaka kapaciteta za 32-bitni sistem in za 64-bitni sistem. Na obeh ti fizično pokaže enako rama. Ali oba enako uporabita ves ram ali ga 32-bitni sistem uporabi samo polovico? oz drugače rečeno za pol rama te virtualno na....?

LP U.



To je zaradi tega, ker je med CPU izvajalno enoto in RAM ploščkom na CPUju multiplekser, ki širino podatkov, ki jo lahko naenkrat prebavi CPU prilagodi širini zunanjega vodila.

Zunanja vodila se delajo čimširša, da spravijo skozi ćimveč podatkov pri ( glede na CPU core) relativno nizki frekvenci.

486tka je imela 32-bitno zunanje vodilo, že taprvi Pentiumi pa 64-bitno, čeprav so bili sami še vedno 32-bitni proci. Pač namesto enega je krmnilnik pomnilnika v enem šusu zajel dva grižljaja- saj je bila itak velika verjetnost,d a bosta oba potrebna.

Še več, zaradi organizacije cache enot se ob vsakem dostopu v pomnilnik, ki zgreši cache ( pa bi lahko bil cachiran) zajame iskana beseda in še N dodatnih. N je AFAIK vsaj 64 pri sedanjih strojih, kar pomeni vsaj 8 dostopov širine 64-bit = 8byte, oziroma pri dual channel 4 x (128 bit= 16byteov) = 64byte, dostikrat tudi večkratnik tega, če memory prefetcher oceni, da bodo te lokacije potrebne.

Tako da ni panike, posebna elektronika že upadena zadeve na pravo širino.

MIslim da sem ravno včeraj nekje videl celo 8-bitni mikrokrmilnik, ki uprablja isti trik- 32-bitni zajem podatkov...
On the journey of life, I chose the psycho path.

MrStein ::

Spc:
Torej če uporabimo 64bitni os pridobimo te 4 bite zraven ? Kar se mi zdi bedarija.

Delujočih 8 (ali več) GB RAM-a se ti zdi bedarija ?
Teštiram če delaž - umlaut dela: ä ?

Senitel ::

32+4 = 36

Tako piše za core 2 duo.

18 Exa Byteov pa bi bilo za pravilen 64bitni sistem (kar je pa ultra dosti več).

Na tole je že Brane2 odgovoril v enem prejšnjem postu: 64 bitne aplikacije uporabljajo 64 bitne kazalce, čeprav je CPU hardwaresko sposoben naslovit samo 36 bitov. Ko bo smiselno imet več kot 64GB rama na CPU, se bo pač pri CPU-jih te naslove razširlo, aplikacije pa bodo ostale iste.

Torej če imaš 4GB rama in 2GB grafično te še vedno lahko reši windows server pri 32bitnih sistemih.

32bitna aplikacija ima 4GB naslovni prostor in pika, neglede na to na katerem OS-u si. Po defaultu je to v WinXP 2GB (ram) + 2GB (kernel, grafične,...) ali pa 3GB + 1GB na Windows Server 2003/Linux/WinXP z 3GB switchem. Kar je treba razumet je, da serverske aplikacije vedno gonijo več instanc procesov in lahko tako izkoristijo praktično poljubno rama, čeprav so 32 bitne.

Brane2 ::

Aja, kar se naslovnih bitov tiče, pa razlika ni samo v tistih nekaj bitih.

OS lahko uporabi naslovni prostor na mnogo koristnih načinov, tudi če tam ni RAM-a.

Recimo randomizacija je ena taka koristna reč. V smislu da nilo točno ne veš, kje se bo program naložil in kje točno bodo stack in različne knjižnice.

S tem zelo otežiš stack overflow napade, ker napadalec ne pozna naslovov.

Da si to lahko privoščiš, rabiš precej "lufta"- torej veliko večji vsaj virtualni naslovni plac.

Drugi trik je uporabljen mislim da pri Winsih po defaultu, Linux pa mislim da uporablaj prelink za ta efekt- da imaš knjižnice že predpripravljene za nalaganje na konkretne naslove in če se tja dejansjko naložijo, relokacija ni potrebna in program se požene hitreje. Če pa se recimo zgodi, da bi po defaultu moral linker naložiti knjićnice tako,d a bi se prekrivali, pač eno naloži drugam in relocira.

Če imaš knjižnic veliko, naslovnega lufta ( = razliko med virtualnim in fizičnim adresno velikostjo ) pa malo, potem bodo relokacije pogoste.

Če pa imaš bitov "ko u priči" potem si lahko privoščiš za vsako knjižnico svoj, ločen default naslov tudi če jih imaš maljardo in relokacija ne bo potrebna...
On the journey of life, I chose the psycho path.

Brane2 ::

Na tole je že Brane2 odgovoril v enem prejšnjem postu: 64 bitne aplikacije uporabljajo 64 bitne kazalce, čeprav je CPU hardwaresko sposoben naslovit samo 36 bitov. Ko bo smiselno imet več kot 64GB rama na CPU, se bo pač pri CPU-jih te naslove razširlo, aplikacije pa bodo ostale iste.


Nisem ziher, a mislim da K-8/K-10 omogočajo večji PAE, ker iamjo 48-bitno naslavljanje itak in potem če že greš na več, je tisto "več" itak vidno samo OSu, ne pa aplikacijam ( ki lahko izkoriščajo samo 4GB) in mislim da je stvar tam lahko še širša.

Ne spomnim se ali userland dejansko ne more videti več ali pa vsi pričakujejo,d a boš to z OSom omejil. V compatibility modeu še vedno lahko uporabljaš segmentne registre in ker segmentne deskriptorje lahko zdresiraš,d a kažejo kamorkoli, bi verjetno dosegel tudi to, a igre s segmenti itak zelo časovno potratne...
On the journey of life, I chose the psycho path.

Matako ::

Živjo

Imam idejo glede rama. V osnovi 32-bitni sistem uporablja 32-bitni način zapisovanja v ram? ostalioh 32-bitov nima nobene vloge?
LP U


Pazi: ko ljudje (površno) govorijo o "64-bitnem pomnilniku" v resnici hočejo povedati, da imaš 2^64 _byte_ velik naslovni prostor.

Koliko je dejansko velik najmanjši kos pomnilnika, ki se prenaša po podatkovnem vodilu do RAM je drugo vprašanje.

Recimo, brez težav imaš lahko procesor z 32-bitnim naslavljanjem (v arhitekturi), ki v resnici naslavlja po 1 byte naenkrat (primer: MC68008), ravno tako imaš lahko 32-bitne procesorje, ki interno naslavljajo v kosih po 64 bitov (kasnejši Intel Pentium)
To zate kot programerja konceptualno v resnici ne vpliva niti ne moreš na to vplivati!
Lahko si skratka predstavljaš, da procesor čudežno prepakira tvoje podatke, tako da so v pravi obliki za "v RAM".
Je pa to nekaj kar zelo vpliva na učinkovitost sistema (išči "data alignment" za več).
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()
strani: « 1 2


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Vista in 2GB po aplikaciji

Oddelek: Operacijski sistemi
19924 (634) r0b3rt
»

Pomnilnik v Windows: 2. del

Oddelek: Novice / Apple iPhone/iPad/iPod
354257 (2330) Jst
»

4GB rama na operacijskem sistemu (strani: 1 2 3 )

Oddelek: Operacijski sistemi
1004488 (3297) opeter
»

Smrt Windows XP Home prestavljena na 30. junij 2010

Oddelek: Novice / Operacijski sistemi
444455 (1285) 1fris
»

4GB RAMa na Win 32bit

Oddelek: Pomoč in nasveti
51363 (1243) ender

Več podobnih tem