64 bit Operating systems

Which is rather confusing when this info is available on Wikipedia. :confused:

Not everything you read on wikipedia is 'accurate' :) In this particular case, 4GB is a 'rounded' figure, taken from MS's own documents which always refer to 4GB as the 'maximum memory' even though it's actually 3-3.5GB when you take into account the address space required for the hardware drivers.

Take it from the horses mouth:

http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx

Of particular note is the sections for

'User-mode virtual address space for each 32-bit process'

Which shows the 2GB process memory limit on consumer 32bit OSes (and the ability to override that to 4GB with the PE flag IMAGE_FILE_LARGE_ADDRESS_AWARE set (4GT isn't available on consumer 32-bit windows, only the 'server' versions)

And regarding the 3.5GB limit on 32bit windows:

http://social.answers.microsoft.com...e/thread/b31c236f-7c71-4cee-834e-51b0b7d0b82c

Note the first answer from the MS Support Engineer
 
Last edited:
Hi All,

reading this post it seems you know what you are talking about regards 64-bit systems.
(Not trying to hijack this thread.)

Is there anything I should be aware of before installing Trainz2010.
I will be upgrading from a Asus PRO55series laptop vista (served me very well) to
a ASUS GAMING G73JH 64bit Laptop 17.3" i7 8GB DDR3 1TB HDD ATI 5870
Windows 7 Home Premium. (awaiting delivery)

Any advise will be appreciated.

Cheers,

Bill.

Hi Bill. It seems the only thing you really have to be aware of with regard to Vista/Win7 is that installing and running Trainz, CMP, etc. as Administrator may save you headaches down the road, going by what others have experienced. Also, since your new laptop has an ATI card, TS2010 may run better in DirectX mode as opposed to OpenGL which, I think, is the default. Good luck with your new system!
 
No, he's right, a plain win32 application can only access 2GB of space, there is a flag that allows support of 3.5GB of address space for a 32bit process on a 64bit OS, but that flag is ignored on 32bit OSes.

The kernel doesn't use anywhere near 2GB, thank god, or else windows would be essentially useless for running things like 'Lord of the Rings Online' which uses about 1.8GB of ram.

Checked out my Microsoft supplied notes for Windows debugging today and they quite clearly state that 2G is reserved for the Kernel, this can be reduced to 1G if the 3G switch is applied (not recommended)
 
Hi Bill. It seems the only thing you really have to be aware of with regard to Vista/Win7 is that installing and running Trainz, CMP, etc. as Administrator may save you headaches down the road, going by what others have experienced. Also, since your new laptop has an ATI card, TS2010 may run better in DirectX mode as opposed to OpenGL which, I think, is the default. Good luck with your new system!

Thanks for the advise, much appreciated.

Cheers,

Bill.
 
Checked out my Microsoft supplied notes for Windows debugging today and they quite clearly state that 2G is reserved for the Kernel, this can be reduced to 1G if the 3G switch is applied (not recommended)

Ignore the Microsoft notes on this for the moment sometimes they are wrong and sometimes they over simplify things.

At the hardware level a 32 bit cpu has 32 address lines each of which can have a value of 0 or 1. This gives 4 gigs of addresses. Note this is hardware.

Operating systems such as windows have different types of instruction available to them. One allows any address within the 4 gig range. This sort of program can send and receive instructions to any part of the computer. Disk drive interfaces etc. For security reasons you don't want any program to have this sort of access. When I started in computers many years ago we actually did have this sort of access and programmed in assembler.

When NT came out it was thought that no one would ever need 2 gigs of memory and the fastest way to program restrictions on the instruction set was simply to mask the top bit. So normal programs running under a Windows 32 bit operating system are only allowed to access 2 gigs of memory. My understanding is Multiple programs can be run and they may access more than 2 gigs in total but no one program can access more than 2 gigs.

A mask instruction is one of the fastest instructions available on the cpu. Programs that need to access more than 2 gigs of memory can be given more memory but there is a performance hit as now you have to check each instruction with a slower method than a 31 bit mask. You see these in server editions and even here Microsoft documentation contradicts itself. An early Microsoft book had incorrect information in it which cause my organisation problems over the years as system admins attempted to follow the instructions in the manual which were incorrect and it was to do with the /3 switch which is probably why it is not recommended today.

The Microsoft statement is a simplification. The kernel typically uses no more than 512Mb of memory, it can run in less, what they are really saying is that the kernel can use the restricted instructions that allow full access to the 4 gigs of address. If you subtract the 2 gigs from 4 gigs then a simplification is that the kernel has 2 gigs of reserved memory, which isn't absolutely true.

Cheerio John
 
I have Trainz 2006 and Win7 64bit and the mouse arrow does not show. Should I bin it and get T2010, or is it possible to sort out?. Murph.:)
 
I have Trainz 2006 and Win7 64bit and the mouse arrow does not show. Should I bin it and get T2010, or is it possible to sort out?. Murph.:)

I'd suggest TS2010 for its advantages but it should be possible to work through TRS2006 and the mouse arrow.

Cheerio John
 
Back
Top