OS演習課題メモ

第11,12回課題

QEMU/KVMのディスクイメージのマウント方法

 sudo mkdir /mnt/mntpoint
 sudo mount -o loop,offset=32256 vm.image /mnt/mntpoint

ホスト-ゲストでのpingは通るのに、ゲスト-ゲストでのpingがうまくいかない

 sudo ufw disable

カーネルメッセージの出し方、読み方

 printk(KERN_INFO "message dayo-");

シェルコマンド

 $ dmesg

とりあえずこれで見れる。KERN_*のヘッダやdmesgの詳細はmanあたりを参照してくだしい。

その他・参考URL

ioctlのrequest codeについて

ioctl(fd,request,args)の2番目の引数requestはioctlにどのようなデバイス操作を要求するかを表す数値ですが、
ここに入れる数値は何でもいいというわけではないようです。
ググると_IOW、_IOR、_IOCなどのマクロを使った方法が紹介された記事をよく見ますが、それでもダメな人は1を使ってみてください。

fd = open("dev/〜",O_RDWR);
……
ioctl(fd,1,……);

どういう条件でカーネルが正当なリクエストコードだと認めるかどうかはよくわかりません(0,2などは通りませんでした)が、1は通るようです。
ioctlではMAKアドレスの指定という一つの操作が出来れば課題要件は満たせるので、これで事足りるはずです。

第10回課題

* 編集するファイル

* 追加するファイル

* その他


Categoryノート

システムプログラミング実験/課題メモ (最終更新日時 2011-09-05 14:29:49 更新者 fujima)