Hi EveryOne!
0
See [
http://msdn.microsoft.com/newsgroups/managed/default.aspx?dg=microsoft.public.dotnet.languages.csharp&mid=7f32b8de-2204-47e7-9ed9-0e2f5f60c316
] what MS guy is talking about memory allocation , i wonder that they
say that process address space can be 4 GB [ 32 bit architecture ]
memory with one half for kernel and another for user. Ok! lets say that
you can just use 2 GB with any user application , fine. If i write a
kernel mode code which can access user and as well as kernel space then
it should be able to take care of 4 GB. But why Microsoft guys are just
saying NO for big allocations?
It might be possible that lack of addressing flat memory is due to
other than OS itself like TLB , HW cache , VM manager architecture
etc..
1)
Say Windows 32 bit OS for intel architecture.
0) Kernel space = 2
1) User space = 2
Total process space = 4 GB.
User mode App. = You have just 2 GB to move around , you keep you data,
routines and string for file mapping here.
Kernel mode code = Ok here you can move around 3 GB.
You can see that our system is consuming min 1 GB [PCB , stack etc.] in
both cases. So we can see that system is spoiling 4 GB [ one process]
for every four processes;-)
that is what i'm thinking.
Regards
-ali