ウォンツテック

そでやまのーと

OS作成 - ファイルシステム編

kmkfs.cppツールでext3フォーマット化したsodexカーネルカーネル内部で解析してdirectoryのファイル名一覧を表示させる事が出来ました。とりあえずinode番号が「2」であるroot directoryのファイル名等をext3_direntry構造体に入れてそれをリストで繋げたのをdirectory所有の構造体sodex_dentry_listで管理。"ls"はそのリストをforeachしてinode番号とファイル名を表示するだけです。
qemubochsでは動作OKですが、実機ではrecalibrateエラーとなり読み込み失敗します。

sodex rev.12


ファイルシステムが出来てくるとシェルもどきも書けるし、ようやくOSっぽくなりそうですね。 :)

次の目標はファイルopenをしてファイルの中身を表示させる事。ファイルディスクリプタ用の構造体を作ってそこからinode等を取得して表示させてみます。※プロセスをまだ作ってないのでプロセス毎のファイル構造体といった物はまだ作れません。

sodexカーネル上のls


Linuxでマウントした時のls