プリントスタック TOKYO

データベースとセキュリティの世界から離れて早数年。過去の記憶を探しています。

SPARCのアーキテクト

Sun Sparc チップのアーキテクトは、32-bit と 64-bit の判断を行うにあたり確認方法を 「やっぱり Sun がスキ!」 を参考に実施してみた。

チップセット情報

# /usr/platform/`uname -m`/sbin/prtdiag -v
System Configuration: Sun Microsystems sun4u Sun Ultra 5/10 UPA/PCI
(UltraSPARC-IIi 440MHz)
System clock frequency: 110 MHz
Memory size: 512 Megabytes
以下、略

プロセッサの情報

# psrinfo -v
Status of processor 0 as of: 11/06/2009 18:09:55
Processor has been on-line since 05/28/2009 19:07:46.
The sparcv9 processor operates at 440 MHz,
and has a sparcv9 floating point processor.

32-bit と 64-bit バイナリの確認

# file /usr/bin/truss
/usr/bin/truss: ELF 32-bit MSB executable SPARC Version 1, dynamically
linked, stripped

procツール(pldd)でプロセスの使用ライブラリを確認

# ps -ef | grep oracle
oracle 429 1 0 May 28 ? 0:54
/export/home/oracle/product/9.2.0/bin/tnslsnr LISTENER -inherit
oracle 398 1 0 May 28 ? 0:22 ora_pmon_ora9i64
oracle 400 1 0 May 28 ? 2:52 ora_dbw0_ora9i64
oracle 402 1 0 May 28 ? 13:27 ora_lgwr_ora9i64
oracle 404 1 0 May 28 ? 43:01 ora_ckpt_ora9i64
oracle 406 1 0 May 28 ? 16:00 ora_smon_ora9i64
oracle 408 1 0 May 28 ? 0:30 ora_reco_ora9i64
oracle 410 1 0 May 28 ? 0:03 ora_cjq0_ora9i64
oracle 412 1 0 May 28 ? 480:38 ora_qmn0_ora9i64
oracle 414 1 0 May 28 ? 0:00 ora_s000_ora9i64
oracle 416 1 0 May 28 ? 0:00 ora_d000_ora9i64
root 15966 15952 0 18:14:03 pts/7 0:00 grep oracle

#Oracle の PMON を対象にライブラリを確認してみる。上の出力結果をみると PMON の プロセスID が 398 であることがわかる。pldd コマンドに 398 を渡してみる。

# pldd 398
398: ora_pmon_ora9i64
/export/home/oracle/product/9.2.0/lib/libodmd9.so
/export/home/oracle/product/9.2.0/lib/libskgxp9.so
/export/home/oracle/product/9.2.0/lib/libskgxn9.so
/export/home/oracle/product/9.2.0/lib/libjox9.so
/usr/lib/sparcv9/libnsl.so.1
/usr/lib/sparcv9/libsocket.so.1
/usr/lib/sparcv9/libgen.so.1
/usr/lib/sparcv9/libdl.so.1
/usr/lib/sparcv9/libc.so.1
/usr/lib/sparcv9/libaio.so.1
/usr/lib/sparcv9/librt.so.1
/usr/lib/sparcv9/libkstat.so.1
/usr/lib/sparcv9/libm.so.1
/usr/lib/sparcv9/libmp.so.2
/usr/lib/sparcv9/libmd5.so.1
/usr/platform/sun4u/lib/sparcv9/libc_psr.so.1

結果をみると Oracle の PMON プロセスは、sparcv9 を使用しているため、64-bitモードで動作していることがわかります。32-bit の場合は、どこかに sun4u ブランドが現れるはずです。
SPARC V9 ABI の特徴
http://docs.sun.com/app/docs/doc/819-0389/6n2qo5ls3?l=Ja&a=view