64bit or 32bit

http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm

1. From hardware -> OS -> App

  • A 32-bit OS will run on a 32-bit or 64-bit processor without any problem.
  • A 32-bit application will run on a 32-bit or 64-bit OS without any problem.
  • But a 64-bit application will only run on a 64-bit OS and a 64-bit OS will only run on a 64-bit processor.

These two tables illustrate the same rule:

Table 1 — What is compatible if I have a 32-bit CPU?
Processor (CPU) 32-bit 32-bit 32-bit 32-bit
Operating System (OS) 32-bit 32-bit 64-bit 64-bit
Application Program 32-bit 64-bit 32-bit 64-bit
  Yes No No No
 
Table 2 — What is compatible if I have a 64-bit CPU?
Processor (CPU) 64-bit 64-bit 64-bit 64-bit
Operating System (OS) 64-bit 64-bit 32-bit 32-bit
Application Program 64-bit 32-bit 32-bit 64-bit
  Yes Yes Yes No

Lower level's number of bits can't be bigger than higher level, i.e. 64 bits is compatible with 32bit, someshow 32bits is not compatible with 64 bit.

An example of backward compatibility is Windows 64-bit. It has software called WOW64 that provides compatibility by emulating a 32-bit system. See the article How Windows 7 / Vista 64 Support 32-bit Applications if you want to know more. One important point that is made in that article is that it is not possible to install a 32-bit device driver on a 64-bit operating system. This is because device drivers run in parallel to the operating system. The emulation is done at the operating system level so it is available to the higher layer, the application, but it is not available to the device driver which runs on the same level i.e. the operating system level.

Can a 64-bit CPU with a 32-bit host OS run a virtual machine (VM) for a 64-bit guest OS?

Yes. It all depends upon the level of virtualization.

With software virtualization it is hardly likely to work, or if it does work it may be very slow.

Hardware virtualization will need to be supported by the CPU (e.g. with Intel-VT or AMD-V) and the BIOS.

How do I run 32-bit software once I have installed 64-bit Windows?

Windows 64-bit provides a 32-bit compatibility mode called WOW64 (Windows 32-bit on Windows 64-bit) that should run most if not all your applications. But 32-bit Windows applications are not automatically Windows 64-bit compatible. There are several reasons for this: they have 16-bit code, they rely on 32-bit device drivers, they are extensions that use code injection to add features to another program, or they don't follow the 'rules' in some other way. Some vendors prefer to make a native 64-bit version rather than updating the 32-bit application to make it compatible. See How Windows 64-bit supports 32-bit Applications for more information on these issues.

If you have 32-bit application you want to run from the Command Prompt then you need to use the WOW64 version of cmd.exe. At the Start Menu select Run and enter the following command. Note that the %systemroot% variable points to your Windows folder so this will work even if Windows is not installed on C: drive:

%systemroot%SysWOW64cmd.exe

If your application won't run under Windows 64-bit then try XP Mode, Windows Virtual PC, or other virtualization solution. Be aware that XP Mode reduces your system security and so it should be used as a last resort.

  

Java: 32bit or 64bit JDK/JVM/Bytecode

Bytecode is platform independent as it relies on the underlying JRE/JIT to translate it to specific machine code, so any bytecode can run on either 32bit or 64 bit JRE.

The differences with 32bit and 64 bit JDK lies on the fact the JVM and the relevant tools in the kit is different, JDK relies on them to interact with the specific 32bit or 64bit OS.

原文地址:https://www.cnblogs.com/glf2046/p/6611144.html