システムコール
MenuFedora 上で、kernel source を install する。
yum install kernel-develこれで出来なかったら、
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 の名称とソースファイル名