-title: システムコール Fedora 上で、kernel source を install する。 以下を参考にすると良いらしいです。 http://fedoraproject.org/wiki/Docs/CustomKernel 3.6.6 を使うこと。kernel.org から、取ってきても良い。 運が良ければ、先輩たちが既に用意してくれているはず。 --kernel を compile する kernel を gdb 用に作成する sudo yum install ncurses-devel make menuconfig make >& ers & disown %m exit --VirtualBox や VMWare Fusion を使って、Linux kernel を gdb に接続する VM を定義している xml を debug 用に調整する elf を知っている gdb を VM に接続する --ユーザレベル Unix の system call read が、特権命令を呼び出す部分のアセンブラを gdb のdisassembler で調べよ。 ia32 (naha/nirai/iMac) intel64 (Mac OS X) Fedora 13 (i32/intel64) について、それぞれ調べる。 Option: glibc のどこで、それは定義されているかを調べる。 --システムコールテーブル arch x86_64 に関して以下のことを調べる がカーネル内部でシステムコール番号から関数ポインタに変換するテーブル。 select の番号はいくつか? Fedora 17 について調べて下さい。 --ファイルディスクリプタ read が参照するファイルディスクリプタのカーネル内部での構造 fs/read_write.c を読む SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count) struct の名称とソースファイル名 を示せ。 --ファイルディスクリプタの排他制御 ファイルディスクリプタ参照する際の排他制御はCレベルではどこで おこなわれているか。