[WinAPI] Care este spatiul virtual de adrese a unui proces?

Folosire Windows API in programe C/C++ (forum moderat)
Post Reply
User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

[WinAPI] Care este spatiul virtual de adrese a unui proces?

Post by Ovidiu Cucu » 04 Dec 2009, 15:58

Intrebare:
Care este marimea spatiului virtual de adrese a unui proces pentru sistemele Windows pe 32 respectiv 64 biti?

Raspuns:
  • Pentru sistemele Windows pe 32 biti: 4 GB (gigabytes) pentru ca un pointer pe 32 biti poate lua una dintre ce cele 2^32 valori intre 0 si 0xFFFFFFFF.
    Process virtual adress space (32-bit Windows).gif
    Process virtual adress space (32-bit Windows).gif (1.99 KiB) Viewed 4120 times
  • Pentru sistemele Windows pe 64 biti: 16 EB (exabytes) pentru ca un pointer pe 64 biti poate lua una dinre cele 2^64 valori intre 0 si 0xFFFFFFFFFFFFFFFF.
    Process virtual adress space (64-bit Windows).gif
    Process virtual adress space (64-bit Windows).gif (2 KiB) Viewed 4120 times
Note:
  • Conform standardelor IEC, pentru multiplii unitatilor de masura exprimate in sistem binar, in loc de prefixele kilo, mega, giga,... exa,... se folosesc prefixele kibi, mebi, gibi,... exbi,...
    Totusi, in practica, si pentru unitati binare sunt mult mai des folosite kilo, mega, giga,... exa,...
Vezi si



User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: [WinAPI] Care este spatiul virtual de adrese a unui proces?

Post by Marius Bancila » 04 Dec 2009, 16:37

Ar trebui mentionat ca spatiul de adrese al unui proces se inparte in doua: zona proces sau utilizator (numita si spatiu virtual de adrese in mod utilizator sau "user mode virtual address space") si zona sistem (numita si spatiu de adrese in mod kernel sau "kernel mode address space"). In mod implicit la sistemele pe 32 de biti, acestea isi impart in mod egal cei 4GB disponibili, adica cate 2GB pentru fiecare mod (utilizator sau proces si sistem). Se poate face un tuning, astfel incat zona utilizator sa aiba 3GB iar cea sistem doar 1GB.

Pentru mai multe informatii cititi:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
http://technet.microsoft.com/en-us/libr ... 89334.aspx
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

Post Reply