kernel
とりあえず、Makefile は CFLAGS なナニを修正しないとコンパイルできませんでした。 35,36c35 < #CFLAGS := $(INCLUDES) $(DEPENDFLAGS) $(BASEFLAGS) $(WARNFLAGS) < CFLAGS := $(INCLUDES) $(DEPENDFLAGS) $(BASEFLAGS) --- > CFLAGS := $(INCLUDES) $(DE…
こりゃ凄い。懐方面に余裕があるのであれば是非に参加したい。 http://connpass.com/event/2699/ 一日分の会場代として 500 円必要だけどそれは問題ではないですね。日程的にも検討の余地がありそうな気がしているので真面目に検討の方向。 とは言え そんな…
空き時間に何故か思いだしたようにこちら対応。つうか直前エントリが非常に分かりづらい (というかわしの Lions' エントリは基本分かりづらい)。 とりあえず open1 手続きを再確認してみます。
396p の open1 の解説に prele (7882) は i ノードをアンロックするのに使われる。「どこで、なぜ、i ノードがロックされるのか」と疑問に思う人がいるかもしれない。 Lions' Commentary on UNIX より引用 という記述があります。確認してみます。
朝練。creat 手続きのあたりの記述 (396p) 確認。
今朝もなんとなく手を出してみたり。18 章あたりに手を付けてみる。
下方面でノドが渇いてたのでリハビリ兼ねて復習。
宿題になっていた rkintr な割り込みハンドラの優先度確認 割り込みハンドラ自体の優先度も確認 d_actl の使途 あたりを確認してみます。
らふてーを製造しつつ、rkintr を読む大晦日。
16 のあたりから再読。とりあえず rk.c から。
unlnk 手続き掘削の巻。つうかテキスト読まねば、なんだけどなぁ。(ぇ
朝練。u_pdir 属性ですか。というか wdir 手続き (7477) maknode 手続き (7455) link 手続き (5909) の呼び出し元確認してみます。
今朝のソレで出てきた宿題なソレを確認してみます。
fd 視点な v6 UNIX Vol.2 in Okinawa の 57 枚目を見つつ実装確認。
朝練にて inode block なソレを云々したんですが、色々と釈然とせず。そもそも inode 番号な属性の型が int で最大 65535 なんスけど、これに struct inode なサイズの 32 を掛けたりすると 2.5MB なディスクが埋まってしまいかねない値になってしまいます。…
朝練メモ。へろへろです。
朝練メモ。 v6 unix vol.2 in okinawa なスライドの 57 枚目の_ファイルシステムの構造 fd 視点_のあたりを切り口で中身掘削。
以下なエントリ参考にしつつ Getting Plan 9 running on the Raspberry Pi 以下からイメージ取得。 http://plan9.bell-labs.com/sources/contrib/miller/9pi.img.gz で、オトしたソレを $ gunzip 9pi.img.gz $ dd bs=1M if=9pi.img of=/dev/sdbして再び Rasp…
b_flags 属性で xref の続き。notavail 手続きから確認再開。
b_flags で xref を追いかけてみます。最初は定義なのでスルー。 いっちゃん最初に出てくるのは bread 手続き。 4758 rbp = getblk(dev, blkno); 4859 if (rbp->b_flags&B_DONE) 4860 return(rbp);getblk で取得したバッファが最新 (ディスクの情報と同一) …
朝練。諸々確認しつつ write 関連見つつ b_flags 云々まで見れるかどうか。
朝の続き。breada 手続きについてもう少しきちんと確認して b*write 手続き確認の方向。その他もろもろまで云々できるかどうかは不明です。
朝練メモ。getblk 手続きをもう少し確認など。
バッファ操作のあたり、土曜日のファイルシステム編のおかげでイメージが前よりも容易になりました。 オペレーティンスシステムの読み書き VOL 2 現時点で read/write なナニを完全にスルーしていますが、確認できている分をもとにもう少しデータ構造な切り…
朝練メモ。getblk 手続き確認など、というよりは構造体の確認か。確認もしつつ各手続きのざっくり確認か。どこまでできるか。 brelse 手続きでは bfreelist の av_ の末端に引数な struct buf オブジェクトが追加されている B_WANTED、B_BUSY、B_ASYNC なフ…
bio.c のあたりを確認。ちょっと色々理解しきれていない部分多数。 例えば incore 手続きですが定義が以下。 4899 incore (adev, blkno) 4900 { 4901 register int dev; 4902 register struct buf *bp; 4903 register struct devtab *dp; 4904 4905 dev = ad…
読み、という程のエントリにはならない予定です。 5386 struct devtab rktab;これ、静的に領域が確保されるんですね。
昨日の話を聞いたアタマで 15 章以降に目を通すと入ってくる具合が全然違うように感じます。ちなみに勉強会スライドおよびつぎゃったが以下となります。 v6 unix vol.2 in Okinawa v6 unix vol.2 in Okinawa の tweet まとめ
v6-unix-okinawa なスライドの 92 枚目。と初期化のあたりの突き合せについて。 マンガになってるのは以下の五箇所の継続な断点 (?) です。 Boot 直後 仮想記憶有効 最初の newproc 最初の exec init の実行 とりあえず、ここはポイント高いと見ているので纏…
v6-unix-okinawa なスライドの 92 枚目。と初期化のあたりを突き合せてみます。 まず、仮想記憶有効、のあたりは最初に動く start のあたりになります。