「RamFSをFAT12」の妄想

FAT12をメモリ上に展開するRamFSをMonaに導入した場合を妄想してみる。~
まず実装・導入のコストがとても小さい。
以下に列挙するやりたいことへ到達するために、RamFSの部分は「この段階では」FAT12に留めておく。

  1. RamFSをFAT12で実装する。
    1. 単純にユーザー側mallocで確保するだけ。
    2. 必要なら全領域アクセスして完全にメモリを確保。(カーネル側に用意しろよ)
  2. File Serverに組み込む
    1. 現在のFAT12(FD)と違うのは、ディスクドライバがメモリを参照していること。ここは特に難しくないと思う。
  3. 適当なドライブレターをふって、既存のアプリケーションからアクセスが可能なようにする。→アプリケーションの幅が広がる
  4. 上記とは別に。RamFS内に例えばMONA.SWPなどのファイルをカーネル用に確保しておく。
  5. カーネルはメモリが足りないシチュエーションで、アクセスの少ないページを、File Serverを経由してそこにSwap Outする。
    1. アクセスの少ないページとかその辺りのアルゴリズムは、実装のときに考えよう。
  6. ページの中身の受け渡しは最初はメッセージベースだけでよいかも。(大きくなったらメモリ窓をつくる)
  7. 上記ページにアクセスがあった場合はSwap Inする。


これくらい具体的に書けば実現可能性が見えてきたかな?
Swap周り以外は大体コストが分かる。あとは試行錯誤で。