0

ユーザーモードからカーネルモードに入るためにNETLINKソケットを使用する必要があります。ユーザーモードからカーネルモードへの両方のジャンプとして、NETLINKソケットを使用してシステムコール機能を実装するにはどうすればよいですかRGds、ソフティ

4

1 に答える 1

2

ユーザー アプリケーションが [Unix] カーネルに入る方法は 2 つあります (ユーザー モード プロセスに代わってカーネル コードを直接実行することを意味します)。

  • システム コールを実行します。つまり、カーネルからサービスを明示的に要求します。
  • 次のいずれかの理由で、カーネルに トラップされます。
    • エラー (セグメンテーション違反、無効な命令など) - これは致命的です。
    • またはページ フォールト - マップされているが常駐メモリ ページにアクセスしていない。

netlink(7)一方、 は Linux 固有の通知および構成メカニズムでありsocket(2)sendmsg(2)、 などの通常のシステム コールを介してアクセスします。これにより、カーネルとの間で情報を送受信できます。

したがって、厳密に言えば、netlink(7)カーネル モードに入ることができません。

于 2012-05-18T19:29:10.130 に答える