ユーザーモードからカーネルモードに入るためにNETLINKソケットを使用する必要があります。ユーザーモードからカーネルモードへの両方のジャンプとして、NETLINKソケットを使用してシステムコール機能を実装するにはどうすればよいですか?RGds、ソフティ
質問する
1531 次
1 に答える
2
ユーザー アプリケーションが [Unix] カーネルに入る方法は 2 つあります (ユーザー モード プロセスに代わってカーネル コードを直接実行することを意味します)。
- システム コールを実行します。つまり、カーネルからサービスを明示的に要求します。
- 次のいずれかの理由で、カーネルに
トラップされます。
- エラー (セグメンテーション違反、無効な命令など) - これは致命的です。
- またはページ フォールト - マップされているが常駐メモリ ページにアクセスしていない。
netlink(7)
一方、 は Linux 固有の通知および構成メカニズムでありsocket(2)
、sendmsg(2)
、 などの通常のシステム コールを介してアクセスします。これにより、カーネルとの間で情報を送受信できます。
したがって、厳密に言えば、netlink(7)
カーネル モードに入ることができません。
于 2012-05-18T19:29:10.130 に答える