「RamFSをFAT12」の妄想
FAT12をメモリ上に展開するRamFSをMonaに導入した場合を妄想してみる。~
まず実装・導入のコストがとても小さい。
以下に列挙するやりたいことへ到達するために、RamFSの部分は「この段階では」FAT12に留めておく。
- RamFSをFAT12で実装する。
- File Serverに組み込む
- 現在のFAT12(FD)と違うのは、ディスクドライバがメモリを参照していること。ここは特に難しくないと思う。
- 適当なドライブレターをふって、既存のアプリケーションからアクセスが可能なようにする。→アプリケーションの幅が広がる
- 上記とは別に。RamFS内に例えばMONA.SWPなどのファイルをカーネル用に確保しておく。
- カーネルはメモリが足りないシチュエーションで、アクセスの少ないページを、File Serverを経由してそこにSwap Outする。
- アクセスの少ないページとかその辺りのアルゴリズムは、実装のときに考えよう。
- ページの中身の受け渡しは最初はメッセージベースだけでよいかも。(大きくなったらメモリ窓をつくる)
- 上記ページにアクセスがあった場合はSwap Inする。
これくらい具体的に書けば実現可能性が見えてきたかな?
Swap周り以外は大体コストが分かる。あとは試行錯誤で。