32位和64位的Linux系统区别

3,207次阅读
没有评论

区别之一:当初设计的定位不同

64位操作系统的设计定位是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域,这些应用领域的共同特点就是需要有大量的系统内存和浮点性能。简单地说,64位操作系统是为高科技人员使用本行业特殊的运行平台而设计的。而32位操作系统是为普通用户设计的。

区别之二:安装要求配置不同

64位操作系统只能安装在64位电脑上(CPU是64位的),并且只在针对64位的软件时才能发挥其最佳性能。32位操作系统即可以安装在32位(32位CPU)的电脑上,也可以安装在64位(64位CPU)电脑上。当然,此时32位的操作系统是无法发挥64位硬件的性能的。

区别之三:运算速度不同

64位CPU GRPs(General-Purpose Registers,通用寄存器)的数据宽度位64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位提高了一倍(32位需要四个指令,一次只能提取4个字节的数据),理论上性能会相应提升1倍。

区别之四:寻址能力不同

64位处理器的优势还体现在操作系统对内存的控制上,由于地址使用的是特殊整数,因此一个ALU(算数逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows 7 X64 Edition支持多达128G的物理内存和多达16TB的虚拟内存,而32位的CPU和操作系统理论上最大只支持8GB内存,扩展所采用的是PAE技术。 若要用一句话概括32位于64位系统的区别,那就是64位的运算速度更快,可以发挥更大更好的硬件性能。

如何区分已安装的操作系统是32位还是64位?

方法1:标准的查看方法

<span class="line">1</span>
<span class="line">2</span>
<span class="line">[root@Ansheng ~]<span class="comment"># uname -m</span></span>
<span class="line">x86_64</span>

上述输出结果中带有x86_64字样,说明该系统是64位的。

<span class="line">1</span>
<span class="line">2</span>
<span class="line">[root@Ansheng ~]<span class="comment"># uname -a</span></span>
<span class="line">Linux Ansheng 2.6.32-573.8.1.el6.x86_64 <span class="comment">#1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux</span></span>

上述输出结果中带有i386/i686字样,说明该系统是32位

方法2:查看系统程序信息

<span class="line">1</span>
<span class="line">2</span>
<span class="line">[root@Ansheng ~]<span class="comment"># file /bin/ls</span></span>
<span class="line">/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), <span class="keyword">for</span> GNU/Linux 2.6.18, stripped</span>

方法3:查看OS版本

<span class="line">1</span>
<span class="line">2</span>
<span class="line">[root@Ansheng ~]<span class="comment"># cat /proc/version</span></span>
<span class="line">Linux version 2.6.32-573.8.1.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) <span class="comment">#1 SMP Tue Nov 10 18:01:38 UTC 201</span></span>

方法4:直接看看有没有/lib64目目录的方法,64位的系统会有/lib64和/lib两个目录,32位只有/lib一个

<span class="line">1</span>
<span class="line">2</span>
<span class="line">[root@Ansheng ~]<span class="comment"># ls -d /lib*</span></span>
<span class="line">/lib /lib64</span>

方法5:获得机器字长

<span class="line">1</span>
<span class="line">2</span>
3
4
<span class="line">[root@Ansheng ~]<span class="comment"># getconf LONG_BIT</span></span>
<span class="line">64</span>
<span class="line">[root@Ansheng ~]<span class="comment"># getconf WORD_BIT</span></span>
<span class="line">32</span>

32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可用”getconf WORD_BIT”和”getconf LONG_BIT”获得word和long的位数。64位系统中应该分别得到32和64。

admin
版权声明:本站原创文章,由admin2016-07-10发表,共计1585字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)