-title: システムコール Fedora 上で、kernel source を install する。 以下を参考にすると良いらしいです。 http://fedoraproject.org/wiki/Docs/CustomKernel これで出来なかったら、 wget http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Fedora/source/SRPMS/kernel-2.6.35.6-45.fc14.src.rpm naha:/usr/src/linux-2.6.35/arch/x86 このソースを参照しながら、カーネルのシステムコールの詳細を調べる。 以下のことを調べよ。 --ユーザレベル Unix の system call read が、特権命令を呼び出す部分のアセンブラを gdb のdisassembler で調べよ。 ia32 (naha/nirai/iMac) intel64 (Mac OS X) Fedora 13 (i32/intel64) について、それぞれ調べる。 --システムコールテーブル arch x86_64 に関して以下のことを調べる がカーネル内部でシステムコール番号から関数ポインタに変換するテーブル。 ioctl の番号はいくつか? Fedora 14 について調べて下さい。 --ファイルディスクリプタ read が参照するファイルディスクリプタのカーネル内部での構造 fs/read_write.c を読む SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count) struct の名称とソースファイル名 を示せ。 --ファイルディスクリプタの排他制御 ファイルディスクリプタ参照する際の排他制御はCレベルではどこで おこなわれているか。