ユーザ空間とカーネルとの間
第3回 ソース内のシステム・コールを確認する | 日経 xTECH(クロステック)
システムコールの実態はカーネルにある関数なんだけど、
ユーザ空間からどうやってカーネル空間の関数を呼ぶ方法がやっと分かった。
つまり、CPUに割り込みを行わせていて、そのために、include/asm- i386/unistd.hというヘッダがあるのね。
システムコールを追っていたら、最終的に上記ヘッダに行き着いてそこでお終いでその先が理解できなかった。
カーネルの初期化関数を追えば良かったのか。
あっちは複雑だったので後回しにしていたよ orz。
ドライバとか作っていても__NRとか出てきてよく分からずに使っていたけどそうだったのか。
この辺りは、多分他のOSも似たような仕組みなんだろうな。