It is only the 32/64 "bitness" of the application that matters -
i.e. that your 64 bit loads/stores are atomic at the assembly level.
You need a 64 bit application to get that for "free".*
For the 64 bit application you need a 64 bit CPU and an OS that can execute it.
The OS can be anything, as long as it can start a 64 bit process on a 64 bit CPU.
if i have a 64bit processor, but i'm using 32bit OS. Will i have 64bit atomicity?
32 bit Windows, Linux: You simply cannot run 64 bit applications on 32 bit Windows or Linux, even on a 64 bit CPU.
32 bit Mac OS X: If your application is a 64 bit app, then yes.
if i'm using 64bit OS but running an 32bit application (using WoW64), will i have 64bit atomicity?
No.
Your loads and stores at the machine code level will still be 32 bit loads and stores if you are running a 32 bit application.
*You can get 64 bit atomic reads/writes on a 32 bit CPU with compiler intrinsics where available and/or direct assembly.