ひらメ

ひらメソッド for Plan 9

@n_kaneさんがPlan 9のソースコードをひらメソッドを使って読み始めたようだ。そういえば、g:plan9readingという試みもあったんだけど、断念してしまった。影ながら応援したい!! しかし、いきなりil.cとか読みに行くなど道を誤っているところに、一抹の不…

CodeReadingWiki

ひらさんのCodeReadingWikiより.GLOBALの出力をWiki化するCodeReadingWikiだそうな.似たようなシステムを以前見たことがある気がするけど,Ajaxってのが今風だなぁ.私は自分でサーバを立てるのが面倒だったから,はてなグループ(g:plan9reading)を使って…

シンタックス・ハイライト

考える人, コードを書く人より.スーパーpre記法はファイルタイプを指定すると,シンタックスに応じて色付けしてくれるみたい.へぇ〜,早速使ってみよう. スーパーpre記法 シンタックス・ハイライト あ,行頭は行番号から始まっているんだけど,コメント(/…

キーワードはケースセンシティブじゃないの!?

ちょっと忙しくてg:plan9readingが中断していたけど,再開. sched()あたりの続きをやっていていたMMU関係に突入.そこで困ったことが判明.g:plan9reading:keyword:kaddr()もg:plan9reading:keyword:KADDR()も同じエントリを指すんだな.どうしようかな.

sched()

岡山カーネル勉強会のネタがLinux 2.6.18のスケジューラだったそうな.g:plan9readingでもちょうどg:plan9reading:keyword:sched()関数に到達したところだった.基本的にやっていることは変わらないはずだけど,Linuxのschedule()関数が170行で,Plan9のsche…

BlockとQueue

ようやくTCPっぽい処理に入り始めた.UNIXでは,ネットワークIO用のバッファ管理では,プロトコルスタックのレイヤごとにヘッダを抜き差しするのに便利なように,mbufやskbuffというデータ構造が使われている.Linuxのskbuffは性能を優先したためか,TCP/IP…

データ構造のサイトマップ

カーネルのように大きなプログラムになるほど,使われているデータ構造を理解することが重要になる.データ構造がわかるとコードを追うのが楽になるので,Cのコードを読むときは,まずヘッダファイルを眺めて感じを掴むことが多い.また,ひらさんの講演資料…

tcpconnect()

g:plan9reading:keyword:tcpinit()から読みはじめるってのは間違ったかな.ちょっと目を通せばわかるけど,TCPっぽい処理ってのは全然ない.で,次はg:plan9reading:keyword:tcpconnect()から.ACK処理用のカーネルスレッドを作るので,スケジューラ関係がい…

iprint(),microdelay()

ロック関係がまだ続いていて,g:plan9reading:keyword:iprint()のようなコンソール出力系や,g:plan9reading:keyword:microdelay()のような時間管理系の関数が出てきた.

inccnt(),deccnt(),tas()とか

ボトムアップにやろうとすると,この辺の同期排他プリミティブに行き着いちゃうのかな. g:plan9reading:keyword:inccnt(),g:plan9reading:keyword:deccnt(),g:plan9reading:keyword:tas()あたりを読む.まだ,ネットワークっぽいところにはほど遠い.しか…

Plan9をひらメソッドで読む?

以前,あろはさんに「ひらメソッドどうよ」とコメントを受けたが,昨日,ひらさんにお会いして,ちょっとやってみようかなという気になる.ただ,サーバ立てるのはおっくうだな.はてなダイアリー使って,うまく回せないものか? Wikiじゃなくて,blogを使う…