文档章节

linux版本信息以及x86与x86_64的区别

mskk
 mskk
发布于 2017/05/04 21:19
字数 1565
阅读 2
收藏 0

转自<http://www.cnblogs.com/Totems/p/3198287.html>

一 x86、x86_64、AMD64

  • x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,intel官方文档里面称为“IA-32”
  • x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容 x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。而Intel选择了设计一种不兼容x86的全新64为指令集,称 之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持 windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86 指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。
  • 也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64,与之相对的arm,ppc等都不是x86_64。
  • x86、x86_64主要的区别就是32位和64位的问题,x86中只有8个32位通用寄存器,eax,ebx,ecx,edx, ebp, esp, esi, edi。x86_64把这8个通用寄存器扩展成了64位的,并且比x86增加了若干个寄存器(好像增加了8个,变成了总共16个通用寄存器)。同样的 MMX的寄存器的位数和数量也进行了扩展。此外cpu扩展到64位后也能支持更多的内存了,等等许多好处。
  • 对于普通程序来说,CPU位数的扩展、寄存器数量的增加不会带来明显的性能提升,比如IE浏览器、Office办公这类的软件。特定的程序很能够充 分利用64位CPU、更多的寄存器带来的优势,比如MMX除了能提升多媒体程序的性能,对矩阵、多项式、向量计算都能带来提升,更多的MMX寄存器、更大 的寄存器字长都有利于SIMD指令的执行,能够提升CPU对数据的吞吐量(RISC指令集的CPU动不动就有数百个寄存器,可以有效的缓存中间计算结果, 不需要把中间结果写入内存,从而减少内存访问次数,显著提升性能)

 

二 查看linux系统版本命令

一。查看内核版本命令:

1) [root@SOR_SYS ~]# cat /proc/version
Linux version 2.6.18-238.el5 (mockbuild@x86-012.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010
[root@SOR_SYS ~]#

 

2)[root@SOR_SYS ~]# uname -r
2.6.18-238.el5


3)[root@SOR_SYS ~]# uname -a
Linux SOR_SYS.99bill.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@SOR_SYS ~]#

 

二。查看linux版本:

1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:

[root@SOR_SYS ~]# lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseAS
Description:    Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Release:        4
Codename:       NahantUpdate4
[root@SOR_SYS ~]#

注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

 

2) 登录到linux执行cat /etc/issue,例如如下:

[root@SOR_SYS ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Kernel \r on an \m

[root@SOR_SYS ~]#

 

3) 登录到linux执行cat /etc/redhat-release ,例如如下:

[root@SOR_SYS ~]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
[root@SOR_SYS ~]#

注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1

 

4)登录到linux执行rpm -q redhat-release ,例如如下:

[root@SOR_SYS ~]# rpm -q redhat-release
redhat-release-5Server-5.6.0.3
[root@SOR_SYS ~]#

注:这种方式下可看到一个所谓的release号,比如上边的例子是5

这个release号和实际的版本之间存在一定的对应关系,如下:

  redhat-release-3AS-1 -> Redhat Enterprise Linux AS 3

  redhat-release-3AS-7.4 -> Redhat Enterprise Linux AS 3 Update 4

  redhat-release-4AS-2 -> Redhat Enterprise Linux AS 4

  redhat-release-4AS-2.4 -> Redhat Enterprise Linux AS 4 Update 1

  redhat-release-4AS-3 -> Redhat Enterprise Linux AS 4 Update 2

  redhat-release-4AS-4.1 -> Redhat Enterprise Linux AS 4 Update 3

  redhat-release-4AS-5.5 -> Redhat Enterprise Linux AS 4 Update 4

 

另:第3)、4)两种方法只对Redhat Linux有效

5) [root@SOR_SYS ~]# file /bin/bash
/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
[root@SOR_SYS ~]#

 

6) [root@SOR_SYS ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
[root@SOR_SYS ~]#

 

三 linux版本信息说明

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

  •   r:目前发布的内核主版本。
  •   x:偶数表示稳定版本;奇数表示开发中版本。
  •   y:错误修补的次数。


    内核版本号每位都代表什么 ?  以版本号为例: 2.6.18-128.ELsmp ,

  •     r:   2 , 主版本号
  •     x:  6 , 次版本号,表示稳定版本
  •     y:  18 , 修订版本号 , 表示修改的次数,头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。
  •     128:  表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的
  •     EL :   Enterprise Linux   ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器

    其它方面:

    一般的有三种

  •       smp
  •       bigmem
  •       一般的内核

      Red Hat Linux开机的时候,GRUB的启动菜单会有两个选项,分别是

  •    Red Hat Enterprise Linux ES (版本号.ELsmp)
  •    Red Hat Enterprise Linux ES-up (版本号.EL)

  其实这个就是系统开机时由GRUB引导启动 - 单处理器与对称多处理器启动核心文件的区别。

  •   Red Hat Enterprise Linux ES (版本号.ELsmp)  multiple processor (symmetric multiprocessing )
  •   Red Hat Enterprise Linux ES-up (版本号.EL)   uniprocessor

本文转载自:http://gaylord.iteye.com/blog/2176971

共有 人打赏支持
上一篇: 嵌入式汇编
mskk
粉丝 3
博文 158
码字总数 3371
作品 0
昆山
程序员
私信 提问
Quirky 8.2 发布,用 Woof 创建的 Linux 发行版

Quirky 8.2 已发布,它是 Puppy Linux 的姊妹项目,是用一份叫 Woof 的定制工具创建的 Linux 发行。 新版本 Quirky 8.2 运行在 64 位的 x86 计算机上,主要提供了针对以前的 8.x 版本的增量改...

局长
2017/07/20
941
1
搭建LAMP,在mysql的官网上应该下载哪个mysql?

我想搭建LAMP环境,安装mysql时,应该用源码安装还是用二进制安装? 源码安装,花的时间太长。如果能安装二进制版的mysql的话,我想选用二进制版的安装。但是,我在mysql的官方下载站点 http...

洪云
2013/12/11
5.6K
5
如何查看CentOS 7.x版本信息

前言 由于CentOS 7 和之前的6以下的版本查看系统版本及查看机器位数x86-64的方法不一样,部分命令差异也比较大,现就如在CentOS 7下查询版本信息 首先要清楚什么样标识是32位的,什么样的是6...

xiaocao13140
07/04
0
0
ubuntu 12.04上安装eclipse后不能正常启动

ubuntu 12.04上反复安装不同版本的eclipse(安装卸载),最后通过命令apt-get install eclipse安装(此时安装的eclipse为3.7版本的),在usr/lib/eclipse中打开时不能正常启动,报: An err...

狼行-狼行
2014/06/30
0
0
Scientific Linux 7.6 发布,重新编译的 RHEL

Scientific Linux 7.6 已发布,Scientific Linux 是重新编译的 Red Hat Enterprise Linux ,由费米国家加速器实验室和欧洲核研究组织(CERN)共同开发。它旨在与 RHEL 完全兼容,同时提供了上...

王练
12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
30分钟前
9
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
36分钟前
3
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
44分钟前
8
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linux-tao
46分钟前
3
0
设计模式“6”大原则!

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要...

Java干货分享
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部