64位操作系统(windows)上的32位应用程序

64位操作系统(windows)上的32位应用程序,windows,iis,64-bit,32bit-64bit,Windows,Iis,64 Bit,32bit 64bit,我需要一些帮助来了解32位应用程序如何在64位操作系统上使用内存 32位应用程序可以在64位操作系统上使用2GB内存,对吗? 这是否意味着在Parralel中运行的3个32位应用程序可以寻址6 gb内存。。。 还是3个32位应用程序必须共享操作系统拥有的2-4 gb 32位内存 同样,如果我有一个编译为32位的Web服务,在64位机器上的IIS下运行。只要对该Web服务的单个请求始终保持在2gb内存使用量以下,重新编译到64位有什么意义吗?我的理论是IIS为每个请求创建一个新的进程,因此整个进程

我需要一些帮助来了解32位应用程序如何在64位操作系统上使用内存

32位应用程序可以在64位操作系统上使用2GB内存,对吗? 这是否意味着在Parralel中运行的3个32位应用程序可以寻址6 gb内存。。。 还是3个32位应用程序必须共享操作系统拥有的2-4 gb 32位内存

同样,如果我有一个编译为32位的Web服务,在64位机器上的IIS下运行。只要对该Web服务的单个请求始终保持在2gb内存使用量以下,重新编译到64位有什么意义吗?我的理论是IIS为每个请求创建一个新的进程,因此整个进程池将能够利用64位机器拥有的所有内存,8、15、20Gig或其他任何内存


请告诉我您的想法,谢谢是的,所有32位程序的总使用量都可以超过2GB。因此,是的,您可以使用64位机器中的所有内存来进行一系列32位进程

实际上,有一个编译器选项可以让32位程序在Windows中最多使用3GB。
如果性能不重要,那么就没有理由使用64位。

因为已经有了一个很好的答案,只需一句注释:是的,编译32位代码意味着应用程序可用的地址空间(理论上)限制在4GB(在Windows上为2GB,除非启用)。应用程序地址空间可以位于8、15或20 gig内存中的任何位置。因此,多个进程可以共存,每个进程都有自己的2GB地址空间。在64位操作系统上是4GB。在32位操作系统上,总使用量也很容易超过2或4GB。缺少的是虚拟内存。