新環境は旧環境でビルドされる

カーネルのソースをビルドしてアップグレードする作業は旧環境で行われます。
複雑な手順でしょうが、ほぼ自動化できます。
gccのようなコンパイラも同様です。新しいバージョンは最初は古いバージョンでコンパイルするでしょう。

smalltlakをsmalltalkで書き直す、とかカッコイイことを推し進めていけば、『実用的な』自己複製可能なシステムくらい簡単にできるのではないですか。

はっきり言って、OSやマシンの仮想化はその準備段階ですよね。

頭の中ではとっくにそういうことは実現可能であることはわかっているわけです。特定環境に絞れば、ウィルスやワームのように自己複製の処理自体の実装は当たり前の世の中なのですから。

あとはその環境自体を自己複製できる仕組みが実現できればよいのです。

マルチメディアとかWebなんていう薄皮の議論はもうええです。自己複製可能なソフトウェアシステムというマントルの対流をこの目で見てみたいものです。

そのシステムにはシステムに対応したリソースをどんどん追加していくだけでシステム自体が複製されていくのです。スケーラブルなのかどうか?オーバーヘッド?

とにかくやってみりゃいいんですよ。というわけで、そういうことやってる人達の情報はどこを探せばよいのかこっそり教えてください。