A
A
Alexander Garelkin2016-07-31 12:41:17
Virtualization
Alexander Garelkin, 2016-07-31 12:41:17

How many GB does Windows NT allocate to a process?

Stupid question. On the Internet they write that for the 1st process on the IA-32, win32 platform, a 4 GB sandbox is allocated to it, in which it has only 2 GB of virtual address space.
And for a 64-bit application on IA-32_64 with Windows 64-bit, what is the size of the address space?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
N
none7, 2016-07-31
@VVlados

With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default):
x64: 8 TB
Intel Itanium-based systems: 7 TB
Windows 8.1 and Windows Server 2012 R2: 128 TB
2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
From here.

D
Dark Hole, 2016-07-31
@abyrkov

I agree with SyavaSyava - Windows is capable of both dynamically and statically allocating memory. Moreover, you can watch "alien" memory (!) And even manage it ... of course, we are not talking about any 2GB per process. The numbers are probably a memory limit per process. Or are you confusing GB with MB

A
Alexander, 2016-07-31
@yaka

Programs work with memory using pointers to areas of memory (addresses). That is, you can take it right here and now and try to read / write a memory cell at any address. For this, the program will almost always be killed, but it does not matter.
32-bit programs work with 32-bit addresses, 64-bit programs with 64-bit ones.
A 32-bit address allows you to access any memory location within 2 ^ 32 = 4 GB.
64-bit address -- to any within 2^64 bytes.
In the case of win32, part of the memory of these 4 GB is occupied by the OS kernel. That is, the program can still access memory that belongs to the kernel and will still be killed.
In fact, the maximum amount of memory in win32 that the OS can allocate to a program is about 2 GB. The rest is somehow unavailable.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question