システムコール

Menu

Fedora 上で、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 の名称とソースファイル名


Shinji KONO / Tue Dec 7 14:33:42 2010