OS作成 - ファイルシステム編
openとreadを実装。インタフェースはPOSIX準拠だけど中身は独自で書きました。openの引数でファイルorディレクトリへのフルパスを指定して、存在すれば(今のところファイルフラグは無視)そのファイルのdentry(inodeをメンバに持つ)をディスクから読み取って作成し、それをfile構造体のメンバとし、さらにそれを仮想プロセスのグローバル変数gtaskのfile構造体へのポインタ配列として登録。ファイルディスクリプタ値はその配列の添え字で、その値を元にreadを行う事にしてます。open時はinodeの探索だけで実際にディスクからメモリへの読み込みはread時に行います。
テストではファイルシステム構築時に入れておいた「bootm.bin」の先頭64バイトの領域がちゃんと表示出来ました。
lseek,closeはディスクアクセス発生しないから簡単なので後はopen時のファイル作成、writeですね。