软件开发基础知识

1,x86是指一套CUP指令集,分32位和64位,Intel,AMD都有支持x86指令集但cup架构不同的芯片。
2,有时说【x86】默认指x86的32位,而用【x64】指x86的64位版本。
3,32位的只能装win32,64位的既能装win32,又能装win64。ps:不是x86中的32位和64位。
4,ARM是另一套指令集,也分32位和64位,现在多数是32位;Linux操作系统支持很多包括X86,ARM的cup指令集,所以有pc版,也有android的linux内核可以直接运行在手机上;苹果的Unix也支持ARM指令集,所有Iphone可以运行在手机上。
5,在开发时,都会确定一个程序支持的平台:win32,x86,x64,ARM,很明显的发现Win32,x86这两个概念有重合。

6, Windows phone 8 与Windows 8 采用同一套,但不同于Windows Mobile,WinCE的内核,前者是后者的子集。

   简单的说x86代表32位操作系统  x64代表64位操作系统。
如果你的CPU是双核以上,那肯定支持64位操作系统了
如果你的电脑内存大于4G,那就要用64位的系统了,因为32位的Windows 7也好,Vista也好,最大都只支持3.25G的

内存。而64位的windows 7最大将支持128G的内存。
以下是引用网络上一段文字:
64bit计算主要有两大优点:可以进行更大范围的整数运算;可以支持更大的内存。
不能因为数字上的变化,而简单的认为64bit处理器的性能是 32bit处理器性能的两倍。实际上在32bit应用下,32bit处

理器的性能甚至会更强,即使是64bit处理器,目前情况下也是在32bit应用下性能更强。所以要认清64bit处理器的优

势,但不可迷信64bit。
更详细解答:
        内存这是64位系统最显著的优点,它可以使用超过4GB的内存 。大多数新的台式机和笔记本电脑至少拥有4GB

的内存。问题是,像Vista和Win 7的32位版本只能够用大约3GB的内存 。相比之下,64位的Windows 不仅可以利用

高达192GB的内存,还能够使用的内存映射取代BIOS的功能,从而使操作系统真正使用完整的4GB的。因此,如果

您安装Win7 x64,对于有的4GB内存的机器你不会浪费1GB内存。
       个人认为,3GB不足够用于日常应用只是一个时间问题。一个例子是的Win 7的XP模式功能,它可以让你用旧的

应用在一个虚拟机运行在Windows XP中。此功能可以用于各种目的,例如运行Office 2007和Office 2003年在同一台

计算机上同时进行,或者是IE(对WEB开发很有用)。但WinXP模式需要至少512MB~1GB内存才能正常运行,因此

XP模式非常吃内存。因此,如果您现在部署Windows 7 32位,那么你可能会很快要移动到64位,仅仅因为你必须升

级您的机器与新的内存。我自己的笔记本电脑拥有8GB的内存 ,这是因为为了自己开发的程序在每个虚拟机环境下都

能运行。我不想浪费内存中每一个字节。
64位真提供更好的性能了么?
      我猜很多人认为64位处理器要快于32位处理器。因为有这样一个事实,从8位过渡到16位,从16位过渡到32位的

过程确实带来了一些性能提升。基于以上的原因,是否可以认为64位的处理器可以更快?
      有这么一个例子,很多32位处理器支持S***指令集,但是大多数程序员根本不会使用它们,因为这会妨碍到不支持

这些指令集的电脑运行他们编译的程序(e.g.SSE2可以令Zip压缩更快,但是最常用的3个压缩软件都没有使用它)。
      因此,只有应用了64位优化的64位程序才会有性能提升。不幸的是大多数Windows应用程序并没有做这个优化。
      不过最近一年来,新生了很多的64位应用程序,但不要错误地认为,它们将比32位版本更快。因为通常情况下,

这个64位版本的制作,仅是因为32位版本无法正常运行在64位Windows操作系统上。但是有些对64位有性能依赖的

程序,比如数学计算(e.g.Mathlab)和各类视频处理软件,或者软件开发者明确的支持64位(e.g.7zip),那么速度可能

较32位版本有明显的变化。
       另一方面,win64不会减慢您的计算机性能。虽然类似CLR(.net底层)的程序会进行一些计算使32位程序能够运行

在64位系统上,逻辑上需要花费较多的时间。但是,在实践中你会不知道其中的差别。几乎所有性能测试都可以证明

,在大多数情况下不用在意64位和32位之间性能差异。
       因此,更好的CPU性能不是升级到64位的理由。
       不过毫无疑问,这个现象很可能很快就改变,未来属于64位。随着时间的推移越来越多的软件供应商将提供64位

版本的程序。特别是微软的Office 2010,也将有一个64位版本。不过尚不知晓Excel和Access在64位下的性能。
软件兼容性
      当Vista的发布,许多独立软件开发商(ISV)都没有准备,由于巨大的结构性变化,不少应用程序都无法正常运行在

Vista上。当时,大多数组织都认为过渡到vista只会造成更多的麻烦,同样,Vista 64位只会更多的麻烦。
      但是Win 7不同,相比于Vista,Win7没有重大的结构变化,所有原本Vista下可以正常运行的程序Win 7下都可以

正常运行。同时,软件开发者早已修改了他们软件对于vista的兼容性。这意味着就32位系统来说,兼容性对于Win 7

来说不再是问题。
       当然,风险仍然存在,软件的兼容性仍然是64位的软肋,但是可以确信,不兼容的概率应该大大低于Vista 64位

。因为vista对内存需求的增加已经迫使大量的用户使用64位系统,使软件开发者收到反馈并改善64位兼容性。
       如果你不确定软件可以运行在64位系统上,可以先使用VMware或VirtualBox,使用并确定这些软件的兼容性。因

为有些企业程序仍然是16位的,16位应用程序和MS-DOS程序无法运行在64位系统下。
 
知识点:WoW64(Windows On Windows 64-bit )  MSDN
对于32位系统,程序运行所需要的DLL库储存在C:\的Windows\System32下,而64位系统中32位库在C:\的Windows\

SysWow64。32位程序试图从system32中加载库的时候,WOW64负责重定向他。同样适用于注册表,WoW64重定

向HKLM\Software到HKLM\Software\Wow6432Node,WoW64相比其他的虚拟化机制,更能保证软件兼容性,通常

,这些重定向工作工作的很好。但是任何复杂层都可能造成不可预见的问题,这个问题的表现就是不兼容。
硬件兼容性
      硬件兼容性的情况同软件十分相似,所有支持Vista的设备现在大多可以放心的正常使用于Win 7,微软很清楚,

Vista的市场营销的失败,主要是兼容性问题,同样的错误不会再犯第二次。大多数测试报告表明,过渡到Vista的设

备也将顺利地过度到Win7。
但有些很老的设备的驱动已经不再更新(声卡居多),因为32位驱动不能用于64位系统,所以64位系统硬件不兼容的

概率高于32位系统。
      至于新硬件,所有的厂商都会发布64位可用的驱动,除非他想倒闭。
可靠性
       大家可能知道,64位的Vista设备驱动程序都必须签署数字签名。您可以通过在开机的时候按F8来禁用数字签名

检查工具,这样,您就可以安装未签名的驱动程序在64位系统上来。但是,我不认为这个做法有任何用途,根据我

自己的经验,真的不能说64位的可靠性超过32位,甚至可以看到多次因为驱动设备造成的蓝屏。事实上,强制签署

数字签名没任何用途。
安全性
      驱动的签名提高了安全检查,因为它使rootkit的开发更加困难。另外64位版本的Vista和Win7较32位版本多了2

个功能,安全内核(PatchGuard)和基于硬件的数据执行保护(DEP),但我从来没有听说过黑客和恶意软件开发者被

这些玩意儿所吓倒。
      这只是简单的事实,安全性和可靠性也不是使用64位的理由。
激活
       这可能是国内用户不咋关心的问题(=.=),但还是说说。32位Vista的的序列号无法激活64位Vista(旗舰版除外)

,但是Win7这个现象有所改变,零售光盘将会同时包含32/64位版本的Win7。同时只需一个序列号即可激活这2个

系统。至少现在MSDN和TechNet版本已经确定如此。这当然是一件好事,因为你可以装32/64位双系统,当遇到

兼容问题无法解决的时候就切换过去。
结论
       因为上网本的原因(SSD的高价和部分专属程序不支持64位),32位系统仍然要持续很长时间,但随着各类程序

对内存需求的增加,64位的应用将会更广泛。在我看来。未来是一定属于64位的。因此,我认为的Win 7 64位是

在大多数情况下的选择。只有知道一些必要的程序不支持64位的时候,才会考虑Win7 32位,不过即便如此,我仍然先尝试Xp模式来执行这个程序

你可能感兴趣的:(etc,软件开发,64位,32位)