UNIX以降のコンピューティングのパラダイムがどうなるのか、何年も考えてきたけど、ここ数ヶ月で能力とメッセージパッシングを中心にしたソフトウェアプラットフォームのプロトタイプを作ってる。LinuxとベアメタルのRISC-Vをターゲットにしてるんだ。追求している大きなアイデアは、メッセージパッシングのレイテンシを最小限に抑えるために、フラットなアドレス空間で軽量プロセスを使ったスタックレスデザインで、すべてのプロセスがサンドボックス化され、明示的にメッセージパッシングで渡された能力にしかアクセスできないようにすること。これに統合するためのRISC-Vエミュレーターも作ったから、最終的にはどんな言語で書かれたネイティブバイナリも完全にサンドボックス化してメッセージパッシングの周りで動かせるようになる予定。要するに、オペレーティングシステムとユーザースペース全体を構築するためのネイティブで低レベルなBEAMのようなプラットフォームだ。日常の仕事は退屈なアプリケーションを書くことだけど、これが夜も眠れない理由で、もっとこのことについて話したり書いたりしたい。試行錯誤していることもあるけど、毎週新しいアプローチを探っているから、まだまだ流動的なんだ。ほとんどの作業はスタックレススケジューラに関するもので、長時間実行されるタスクや不具合のあるタスクのために、メモリ使用量を妥協せずにプリエンプションを実現する計画がある。最終的には、Cap'n Protoか他の高性能なシリアル化システムを重ねて、型付きメッセージを送り合うオブジェクト能力の分散型で内省可能な環境を作りたい。SmalltalkとErlang VMの不気味なハイブリッドを作るのが究極の目標だ。こんな問題に取り組むためにお金がもらえたらいいのに :-) もしこれが興味のある分野に近いなら、メールを送ってくれたら嬉しいな。