OS呼び出しが実行されると、プロセスはコンテキストスイッチではなくモードスイッチのみを受けることを読みました。私の理解では、これによりプロセスの特権が昇格し、仮想アドレス空間にマップされているカーネル コードにアクセスできるようになります。(これには、トラップゲートを使用したセキュリティリングの変更が必要になると思います)。ただし、この OS 呼び出しで IO を実行する場合は、ページ キャッシュを使用する必要がある場合があります。コンテキストスイッチなしでこれはどのように起こりますか? それとも、ページ キャッシュもすべてのプロセスの仮想アドレス空間にマップされていますか?
上記の説明のいくつかは間違っている可能性があります。私がそうなら、私を修正してください。私はこれをつなぎ合わせようとしています。また、Linux カーネルにも興味があります。