- 论坛徽章:
- 0
|
大家知道用isainfo -b可以查看内核位数。
在solaris上执行命令显示如下:
# isainfo -b
64
然后用psrinfo查看cpu信息。
# psrinfo -v
Status of processor 0 as of: 10/18/07 19:56:15
Processor has been on-line since 10/08/07 10:02:44.
The sparcv9 processor operates at 440 MHz,
and has a sparcv9 floating point processor.
从isainfo -b 看内核是64位,CPU 为SPARC V9,从《solaris 内核结构》中知道64位SPARC V9 二进制代码的ABI规定栈是不可以执行的。
但是pmap命令显示结果如下:
# pmap -x 24621
24621: SAU_CSC_TST
Address Kbytes Resident Shared Private Permissions Mapped File
00010000 848 376 - 376 read/exec SAU_CSC_TST
000F2000 32 32 - 32 read/write/exec SAU_CSC_TST
000FA000 21576 21576 - 21576 read/write/exec [ heap ]
-----------------------------------------------------
FE50C000 8 8 - 8 read/write/exec [ anon ]
FE608000 16 16 - 16 read/write/exec [ anon ]
FE60E000 8 8 - 8 read/write/exec [ anon ]
FE70C000 8 8 - 8 read/write/exec [ anon ]
FE710000 8 8 - 8 read/write/exec [ anon ]
FE80E000 8 8 - 8 read/write/exec [ anon ]
FE9E4000 8 8 - 8 read/write/exec [ anon ]
FE9F4000 8 8 - 8 read/write/exec [ anon ]
FEA00000 120 120 112 8 read/exec libthread.so.1
FEA2E000 8 8 - 8 read/write/exec libthread.so.1
FEA30000 48 40 - 40 read/write/exec libthread.so.1
FEA40000 16 16 8 8 read/exec libmp.so.2
FEA54000 8 8 - 8 read/write/exec libmp.so.2
--------------------------
FEB68000 8 8 - 8 read/write/exec libCrun.so.1
FEB6A000 16 - - - read/write/exec libCrun.so.1
FEB80000 672 672 664 8 read/exec libc.so.1
FEC38000 32 32 - 32 read/write/exec libc.so.1
FEC50000 168 120 88 32 read/exec libcurses.so.1
FEC8A000 32 32 8 24 read/write/exec libcurses.so.1
FEC92000 8 - - - read/write/exec libcurses.so.1
FECA0000 216 216 - 216 read/exec dev:136,7 ino:253198
FECE4000 80 24 - 24 read/write/exec dev:136,7 ino:253198
-----------------------------------------
FED64000 88 40 - 40 read/write/exec [ anon ]
FED80000 552 400 - 400 read/exec dev:136,7 ino:253193
FEE18000 200 48 - 48 read/write/exec dev:136,7 ino:253193
FF378000 16 16 - 16 read/write/exec dev:136,7 ino:253196
FF37C000 8 8 - 8 read/write/exec [ anon ]
FF390000 8 8 - 8 read/exec libw.so.1
FF3A0000 8 8 - 8 read/write/exec [ anon ]
FF3B0000 136 136 128 8 read/exec ld.so.1
FF3E2000 8 8 - 8 read/write/exec ld.so.1
FFBEC000 16 16 - 16 read/write/exec [ stack ]
-------- ------ ------ ------ ------
total Kb 30440 26544 1656 24888
疑问1:如果从isainfo命令显示结果判断cpu是64位的为什么pmap显示的地址空间都是32位呢?(00010000)
疑问2:如果cpu是64位的sparc v9,那么【stack】的模式应该是不可执行的。而pmap显示的结果是如下:
FFBEC000 16 16 - 16 read/write/exec [ stack ]
【stack】可执行。
疑问3:如果不能用isainfo看cpu位数信息,那么solaris下有什么命令可以看?
疑问4:内核位数不等于cpu位数吗?
希望高手解答,谢谢! |
|