5

カーネルがページ フォールト トラップを処理するたびにシグナルを送信するように、アプリケーションにシグナル ハンドラーを設定したいと考えています。もちろん、SIGSEGVシグナル ハンドラーを使用することもできますが、私が本当に興味を持っているのは、コピー オン ライトで発生するページ フォールトをキャッチすることです。たとえば、fork (その後に exec が続かない) の後、元のプロセスがあるページに書き込もうとすると、ページ フォールトが発生します。このようなページ フォールトについて通知を受け取りたい。どうすればこれを達成できますか?

4

1 に答える 1

2

ページ フォールトは、do_page_fault() によって処理される割り込みです。

http://www.stillhq.com/pdfdb/000446/data.pdf

信号も割り込みを生成します。違いは、ページ フォールト割り込みがコードにベクトル化されることです。コードが何をするかの説明があります。IMO、割り込みハンドラーで常に別の割り込みを生成するのは悪い考えです。

教えてください: 何を達成しようとしていますか? あなたがそれをすべきだと思う方法ではありません。

于 2012-04-21T02:15:16.767 に答える