カーネルをC++で作るという目標が達成したらどこへ行くのやら。
てっきりユーザーランドもC++で固めるのかと思いきや移植やラッパの連続。
まぁ悪くは無いけれど、にわかウォッチャー的には正直目的見失って迷走してるような気がしてならない。
にしてもシステムコールっつーフラットな構造を通さないとやり取りできないからしかたないんかもしらんけど、システムコールでインスタンスごと渡して、インスタンス側でカーネルモード内かユーザーモード内かをリターンアドレスで判断して、ユーザーモードならシステムコール経由してメソッド自身を呼び直すってできないのかねぇ。関数自体はOS側にあるから、リターンアドレスのチェックで安全性確保できるはずだし…と素人考え。
まぁようするに、Linuxほど堅固なOSなら全プログラムをカーネルモードで動かしても良くねって話だ<違う。
徹底的なassertでセグフォを全て無くせば良くね<無理。
アセンブラレベルでのセグフォ可能性の完全な静的検出に期待したいなぁ。
にしてもメモリエラーってよく起きるらしいが、カーネル内で起きると悲惨過ぎね?
#話題がそれるのはいつも通り。
リンク張られてるようなので捕捉。全てカーネルモードってのはRadium Software DevelopmentさんのところのSoftware Isolated ProcessとKernel Mode Linux辺りが元ネタってことで。
#未だに思想家な俺。もっと技術上げないとなぁ、ほんと。