しらいです。

In article <m3u0px67xn.fsf@nospam.maedapc.cc.tsukuba.ac.jp>,
MAEDA Atusi  <maeda-news@ialab.cs.tsukuba.ac.jp> wrote:
>基本的には、カーネルは全部64bitで動いて、32bitアプリケーションからシス
>テムコールが呼び出された際に引数を32bit から64bitへtranslateするんでは
>ないでしょうか。

 実装によって二種類の方法があったと思います。

 一つには、system call とは言え program から呼出される際は
library の wrapper を経由するので、32bit 用 library では引数
や返り値の幅を置換えて呼出すというケース。確か IRIX 辺りがこ
の方法だったかと。
 もう一つには、最初から 32bit 用と 64bit 用で別々の system
call を用意しておいて、32bit 用に compile すると 32bit 用の
system call 番号を用いるケース。BSD 系はこんな感じかな。

 まぁ、wrapper を library 側に用意するか kernel 側に用意す
るかの違いだけで、結局やってることは同じですけど。

-- 
                                               しらい たかし