Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2588022
  • 博文数量: 323
  • 博客积分: 10211
  • 博客等级: 上将
  • 技术积分: 4934
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-27 14:56
文章分类

全部博文(323)

文章存档

2012年(5)

2011年(3)

2010年(6)

2009年(140)

2008年(169)

分类: 系统运维

2009-02-13 16:14:32

32与64位可以有三种技术分类:CPU;OS(aix内核);应用程序(API)。三种技术类别对应的是32位还是64位可通过一下方法查询。
1.判断CPU是32位还是64位。
#lsattr -El proc0
frequency   1654344000     Processor Speed       False
smt_enabled true           Processor SMT enabled False
smt_threads 2              Processor SMT threads False
state       enable         Processor state       False
type        PowerPC_POWER5 Processor type        False
 
type显示的就是CPU的型号。64位的CPU包括:
PowerPC_RS64;PowerPC_RS64 II;PowerPC_RS64 III;PowerPC_Power3;PowerPC_Power3 II
PowerPC_Power4;PowerPC_Power5;PowerPC_Power6
 
AIX5.1以前没有prtconf这个命令所以查看CPU的主频用pmcycles命令。
 
2.判断AIX内核的位数。
#bootinfo -K
64  --64位内核
#bootinfo -y  
64  --64位硬件
 
3.判断应用程序(API)的位数            
#dump -ov filename |grep bit
 
4.32位与64的不同组合。
组合  应用   内核   硬件                                兼容说明
1     32     32    32        最高AIX5.1操作系统,向下兼容个版本32位程序
2     32     32    64        AIX4.3以上版本,AIX5.1以下兼容各版本32位程序
3     32     64    32        不支持
4     32     64    64        需要AIX5.1以上的版本,向下兼容各版本32位程序
5     64     32    32        不支持
6     64     32    64        需要AIX4.3以上版本,并安装和启用bos.64bit程序集。
                             AIX4.3版的64位程序运行于5.1版本上需要重新编译
7     64     64    32        不支持
8     64     64    64        需要AIX5.1以上版本
 
注意:一些老版本的OS版本,例如5.1,即使在64位硬件上安装,默认也没有开启64位内核(需要手工开启)
 
5.AIX4.3或AIX5.1以上版本都可以提供对64位程序运行的支持,但要满足如下要求:
 
5.1 bos.64bit
需要安装bos.64bit,可以通过lslpp -l bos.64bit来查看。64位的机器上安装OS的时候会自动安装,如果你在32位的机器上安装了此程序包,则你可以在32位机器上编译出64位的执行程序,但是你不能执行它。
 
5.2 64位硬件
参照支持64位的CPU型号。
 
5.3 开启内核64位支持
#genkex |grep syscalls64
         3f7a000      398 /usr/lib/drivers/syscalls64.ext
64位驱动扩展并不等于内核是64位的。只有在AIX V5以上的版本才可能真正的是64位内核。这个内核扩展驱动仅仅代表着可以在32位内核的机器上编译出64位的执行程序。而如果是64位的CPU,即使是使用了32的内核,/usr/lib/drivers/syscalls64.ext程序也允许执行64位的应用。
 
6.32位内核与64位内核这间的转换
32->64:
#ln -sf /usr/lib/boot/unix_64 /unix
#ls -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
#bosboot -ad /dev/ipldevice
#shutdown -Fr
 
64->32:
#ln -sf /usr/lib/boot/unix_mp /unix   --单CPU的机器用unix_up代替
#ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix
#bosboot -ad /ipldevice
#shutdown -Fr
 
7.POWER6
POWER6的小型机以及AIX6.1的操作系统不再提供对32位硬件和操作系统的支持。但并不影响32位程序在power6和AIX6.1上的运行。
 
 
 
 
阅读(3273) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~