こんにちは.
最近カーネルの勉強をし始めました.バージョンは2.4.18です.

手始めにprocファイルシステムのインターフェースを使って,
タイムエポックからの経過時間を読みとるモジュールを書こうと思っています.

で,時間に関するグローバル変数xtimeの定義を調べると,
/usr/src/linux/include/linux/sched.hにexternで外部参照しています.
http://lxr.linux.no/source/include/linux/sched.h?v=2.4.18#L576
これはどこのやつを参照しているのですか?
/usr/src/linux/kernel/timer.cのやつでしょうか?
http://lxr.linux.no/source/kernel/timer.c?v=2.4.18#L35
timer.c:35 struct timeval xtime __attribute__ ((aligned (16)));
というか,カーネルヘッダファイルの変数はexternで参照しているやつが多いですが,
それは何か理由があるのですか?