v0n said:
People presume that because most stuff works in 64bit OS there is actually advantage of running such OS.
Well they're not presuming that, it is quite simply a fact. x64 is more secure, faster and more stable.
It is more secure because of both enhancements to the kernel support of AMD64 (i.e. the NX bit) but also because of new features such as Address Space Layout Randomisation (a new kernel-based security feature in Vista).
It is faster because it has a 64-bit word length, allowing large number calculations to be performed in a single clock cycle rather than the 2 (and sometimes 4) that are required on 32-bit operating systems/processors. It supports more physical memory allowing better performance and caching of data.
It is more stable because of enhancements done to the kernel's object manager. No longer is it limited to giving out USER, GDI and KERNEL handles up to 65535. It can now go all the way up to the 64-bit word length. So gone are the days that the Windows desktop breaks because you have got too many applications/windows open. I suspect you've never heard of this problem - Google it. It's actually surprisingly common.
It's also more stable because it only allows signed drivers to be installed. So it prevents people installing drivers for every dodgy little freeware application they find which is liable to crash their PC.
v0n said:
x64 needs signed drivers, safe drivers, slow drivers
Whewww, slow down there. Why did you just post-fix those two points (safe and slow) to the fact that it needs signed drivers? I trust you know what a signed driver actually is and aren't just spurting crap you've pick up and pieced together from many dodgy websites? Let me explain. A signed driver is no different to any other driver. They are written in the same way. Hell it might even be a beta unstable driver. But before they publish it on their website, they sign it with their code signing certificate (usually obtained from Verisign). This is effectively an encrypted signature to provide an authenticity check at the client PC to prove that the driver hasn't been tampered with and that it comes from the correct publisher that the user is expecting.
Signed drivers don't affect performance at all. Yes at boot up the kernel checks each driver that it loads to ensure that it is correctly signed and validated. This takes about 0.05sec per driver, if that. Assymmetric encryption is very fast these days.
v0n said:
And those emulated apps will not and can not use any more memory than they could under 32bit OS, don't take any notice of the larger 64-bit address spaces and couldn't care less for wider 64-bit CPU registers.
That's correct. 32-bit applications under 64-bit Windows will not really see any gain. But nor do they see any loss. It isn't emulation that is being performed. At least not the type of emulation that people relate to being "slow". Windows On Windows 64 (WOW64) is more of a wrapper than an emulator. Basically the key thing that it does is that when a 32-bit thread needs to be scheduled to run on the processor it will set the processor back into 32-bit mode (using a AMD64 instruction), then the thread is allowed to execute, and then when it has finished or its quantum has expired it will revert the CPU back to 64-bit mode (again, using a AMD64 instruction to do so).
This has no performance impact on the executing code whatsoever. AMD64 was designed to work in this way.
v0n said:
But you will not see any factual advantages of running 64bit system for at least next 5 years
Where did you pluck that wierd and misinformed fact from? Many users are seeing the advantages of 64-bit Windows right now, TODAY! Yes there is still a swamp of 32-bit software out there and that isn't a problem. Microsoft are in no rush to release a 64-bit version of Office simply because there is no need to. I don't know why people think all the software on your PC has to be 64-bit before you start noticing any gains. That simply isn't the case and never has been.
When the day comes that Office can see an advantage from being compiled to 64-bit then I'm sure that Microsoft will do so. But you are quite right in that 64-bit offers little benefit to CERTAIN applications - not all, but some. It tends to be applications which don't really have any strict performance requirements.
Games though are a different matter. Games are always on the forefront of performance and that is why so many games now are being released with 64-bit versions as well. Although usually a little later than the main 32-bit release - presumably for the extra testing required.
badbob said:
Well said von.
Sorry but I don't really see what he said well at all. He mostly posted misinformation and FUD about what he believes 64-bit Windows is and what it can't do for people. Please read above.
v0n said:
Well, it's not native in strict sense of the word - Window on Windows is still effectively 32-bit emulation layer, which is partially why you can't run 32bit drivers under Vista x64 or, for example upgrade 32bit Vista to 64bit "on the fly".
It is native. As said before it simply switches the CPU into 32-bit mode, allows the 32-bit thread to execute and then switches it back again to 64-bit when it has finished executing. This is a feature of the AMD64 instruction set.
32-bit code runs at NATIVE SPEED on 64-bit Windows. Period.
The reason you can't use 32-bit drivers has nothing to do with WOW64. It is a fundamental limitation of the AMD64 instruction set. The ability to switch the CPU into 32-bit mode is only provided whilst executing in ring3 (user mode). Not ring0 (kernel mode). That really is the simple reason.
Upgrading Windows from 32 to a 64-bit edition is more a logistical problem than anything fundamental. Microsoft simply didn't offer it because of the complications in backward compatibility and the installation process in general.