0

Xen に「セマンティック ベースのメモリ共有モデル」を実装しようとしています。私のプロジェクトの一環として、VM 間でカーネル コード ページを共有しようとしています。同様のバージョンの Linux カーネルのコード セグメントは 100% 同一であると想定しています。しかし、Debian Squeeze を実行している仮想マシンを使用して実験を行ったところ、カーネル コード セグメントで 3 つのメモリ ページが異なることがわかりました。

私の質問は、Linux カーネルは実行時にコード ページを変更するのですか?

4

1 に答える 1

1

はい、できます。たとえば、実行時にカーネルがユニプロセッサ システムで実行されていることを認識した場合、スピンロックをコードから動的にパッチすることができます。そのようなケースの完全なリストは知りません。コードを調べる必要があります。

カーネル内でランタイム パッチを適用する 1 つのシステムの詳細については、SMP の代替に関する LWN の記事を参照してください。

于 2011-07-26T12:46:31.560 に答える