ファイルシステムでマルチブロックに対応しました

自作OS(OS5)の紹介とユーザーランド周りの機能追加について - へにゃぺんて@日々勉強のまとめ
こちらの記事の続きで、自作OS(OS5)のアップデートについてです。


今回はファイルシステムでマルチブロックに対応しました。
これまで、ファイルシステムの仕様上、各ファイルには「ブロックサイズ(4KB)以下」の制限がありました。
マルチブロックに対応したので、今後、この制限は無くなります。


コミット数としては11コミットと、いつものアップデートに比べるとコミット数は少ないですが、
カーネル周りについては一段落ついたかなというとことで、この段階でリリースします。


タグを付けてGitHubへpushしています。
今回のリリースのソースコードtar ballは以下からダウンロードできます。

また、OS5については以下のページにまとめています。


シェル上での操作や見た目に変化はないので、
今回、GIFアニメはありません。


今回のアップデートのコミットについては以下のとおりです。

boot,kernel,app: ファイルシステムのマルチブロック対応

  • 810c266 2017-01-09 boot: extend load size 43KB
  • 4df3d0b 2017-01-09 kernel: fs: support multi block file at fs_init
  • 4a90fdc 2017-01-09 kernel: mem: move stack to 0xffff e000 in VA
  • dbc6d96 2017-01-09 kernel: task: support multi block file at task_init
  • 68fdd01 2017-01-09 kernel: fs: change app entry point to 0x20000030
  • 414de77 2017-01-09 kernel: task: update task_exit
  • 035c0ed 2017-01-09 kernel: task: extend user stack 4KB
  • 99c7ddd 2017-01-09 Revert "Revert "tool: fs: support the file size exceeds block size""


ブートローダーでRAMへのロードサイズを増やし(810c266)、
カーネルでマルチブロック対応の修正を行いました。(4df3d0b..035c0ed)


その上で、前回リリース時にrevertしていたユーザーランドファイルシステム生成スクリプトへの修正をrevertしました(ユーザーランド生成スクリプトへの修正を反映させました、99c7ddd)。

app: libkernelへの機能追加

  • b32cfd2 2017-01-09 app: libkernel: add get_global_counter()


ファイルシステムの仕様上、アプリケーションのバイナリサイズが4KBを超えられないために見合わせていたライブラリへの機能追加を行いました。

kernel,app: warning抑制

  • d98bd8d 2017-01-12 kernel: fs: add unused attribute at f parameter in fs_close()
  • 758bdac 2017-01-12 app: add unused attribute at argc and argv parameters


未使用の仮引数についてのwarningを抑制しました。