5

システム コールは、ソフトウェア割り込み (割り込みベクタ 128) を使用して実装されます。ロバーツのラブブック「Linux Kernel Development」では、割り込みハンドルは割り込みコンテキストで発生すると書かれています。システムコールはプロセスコンテキストで実行されるとも書かれていますが、システムコールハンドルは実際には「割り込みハンドル」なので、なぜ別のコンテキストにあるのでしょうか?

4

1 に答える 1

1

プラットフォームの実装が Linux カーネルの設計と混同されています。

Linuxカーネルについて話している場合、割り込みコンテキストは、プロセスが接続されていないコードが「単独で」実行される場所であり、デバイスからの割り込みを処理するために一般的に使用されます。プロセス コンテキストは、ユーザーランド プロセスからのシステム コールの結果であり、そこで実行されているコードはプロセスに「接続」されます。

プラットフォームの実装について話している場合、割り込みコンテキストは単に、プロセッサが何らかの割り込みハンドラー モードにあることを意味する場合があります。私はあなたのプラットフォームについて具体的なことを提供するのに十分な知識がありません.

于 2013-08-22T09:05:29.077 に答える