2008-08-01から1ヶ月間の記事一覧

kfifo 試す (6)

ええと、昨晩の不具合ですが、再現しません。

ReadingGauche

APPEND なソレをどうまとめるか。そういえば append ってこんなのもナニ gosh> (append '(1 2)) (1 2) gosh>

へろへろ

ReadingGauche ちょっとタンマです。

kfifo 試す (4)

早めに目が覚めたのでいぢり始める。

kfifo 試す (5)

LLinux カーネル関数リファレンスな copy_{from, to}_user の記述に ユーザコンテキスト中で使用すること との記述あり。コンテキスト云々については Linux カーネル解析入門の 3 章 (同期と排他) に色々と記述あり。

kfifo 試す (3)

仕事中に write が常に 0 を戻している事を発見。 # 何してるんだか ...

kfifo 試す (2)

EOF はどう戻すのか云々、と微妙に悩む。man 2 read 見たら 成功した場合、読み込んだバイト数を返す (0 はファイルの終わりを意味する)。 との事。

kfifo なソレを盛り込んでみる

ちょっとズルっぽいんですが、ヤッてみます。

勉強会

素人くさいソレ以外にも irc でヤッてるらしい SICPオンライン勉強会を金曜夜定期的に開催します

kfifo.[ch]

昼寝しつつ読んだ。どうも空き領域のサイズを超過したらステている模様。帰ってきちんと読んだソレをエントリ投入予定。

simple kernel FIFO implementation

凄く面白い。これしきで面白がってては駄目なんでしょうが。 ええと面白がってみてるのは include/linux/kfifo.h kernel/kfifo.c 基本的には i/f が kfifo.h に定義してあるカンジ。これを見るに自分の考慮の至らなさがありありと分かって違う意味でヘコむ。…

device driver (3)

とりあえず、な確認。排他制御なソレ static int yamanetoshi_open(struct inode *inode, struct file *file) { printk("yamanetoshi_open\n"); printk(" MINOR(inode->i_rdev): %d\n", MINOR(inode->i_rdev)); if(0 == MINOR(inode->i_rdev) % 2) { if(0 ==…

device driver (2)

せっかくだからこのまま休み続けるか、と言いつつ再開検討。今の機能としては デバイスのメジャー番号とドライバの登録ができた その解放もできた デバイス作って open/close ができた という事で、できてない、というかできてなきゃイケないのは open の排…

この週末

ゆっくり休むかも。でも休むのに飽きて云々、かも。(何 ってコトで今から積読になってたハリポタに着手。

device driver (1)

今日からこつこつ進めます。一旦仕切り直してリトライします。色々参考にしつつ。

昨晩エントリの検証

とりあえず盛り込み、なんですが一連のファイルをどうやって vmware なナニに転送したのかを忘れている上、ログが残っていない。 仮想マシン起動して history 見てみたら scp していた。ので、とりあえずこっち側で修正して向こうにナニな方向で。

とほほ

もっかいイチからこつこつ作ろう。

今日もへろへろ頭でがんばってみる

いい加減休んだ方がいいだろ、と自分でも思うのですが。

深浦先生は

2一香が見えてたのかどうか、が気になる。ってか当事者じゃないと微妙か。 それにしても羽生君凄い。

8/16 で

でびあん君は 15 歳になったんだそうな。わしはでびあん使い始めて 10 年には足りてないのかな。丁度 10 年くらいかな。 http://www.efytimes.com/efytimes/28150/news.htm 15 歳ったら知り合いの子供と同じ年だな (何

fifo デバイス

体調不良で早々に帰宅。へろへろなので今日は何もすまい、と言いつつ vmware 起動。デバイスファイル作って cat してみたら見事にカタマッた。わははは。もう寝よう、と言いつつソースを眺めてみたら微妙な記述を発見。 if(!write_sleep) { write_sleep = 0;…

微妙

昨晩、寝オチしてた事に気づいた瞬間、端末の電源がオチてる事に気づいて再度クタバる ちなみにカーネルコンパイル中だったはず make-kpkg に渡すオプションは全然違っていた模様 結局 buildpackage みたいなソレで作成 海水浴に行って、大切にしてた水中メ…

配列でリングバッファ

こんなトコから復習せんと駄目なナニが微妙。kmalloc 使えば良いのでしょうが、vmware の中とかでないと微妙なので ...

今日

がきとポケモン映画を見に行って戻った午後 3 時に「オキナワノコワイハナシ」を見た。やはり一番最後のチームなっちゃんのナニが一番怖かったな。今年は出品してない?と思っていただけに儲け気分。流石に素晴しい。

vmware

環境構築中。でびあん入れて kernel のコンパイル中。何故かアンダースコアが入力できぬ。kernel_image なターゲットで make-kpkg できんじゃないか、といいつつ man を見てると kernel_image の代わりに build が使えるど、とあったのでソレでmake 中。

read/write の実装

そろそろヤらねば。とりあえずテキストに書いてあるのは 空の FIFO デバイスから読みとる場合 対抗する端が open されていないなら、EOF を戻す そうでない場合、読み取り操作を呼び出したプロセスをブロック との事。最初誤解してたんですが常にブロックす…

MOD_{INC, DEC}_USE_COUNT

ええと、簡単なキャラクタデバイスをつくるを教材に色々試してるんですが、ここに記述されているソレが無い。どうも obsolete らしい。

f_version 属性

む。簡単なキャラクタデバイスをつくるを読んでるのですが、file_operations 構造体の f_version 属性は_open するたび異なる数値が設定される_との事。 これも試してみます。これは昨晩作ったナニで十分。

マイナー番号

ええと、課題では 偶数マイナー番号は書き込み 逆は読み込み となっている。 デバイスのマイナー番号は MINOR というマクロと open に渡される i_node なオブジェクトの r_dev という属性で取得できる模様。

きちんとドキュメント読まんと駄目

ばたばたしてる && 体調不良で微妙なエントリ連発してますが、きちっとドキュメント読んでナニ、が必要だなあ、と。 いかんなぁ。