-1

つまり、カーネルがその機能をユーザーランドアプリケーションに公開する方法です。

4

2 に答える 2

1

Linux について話していると仮定すると、引数をレジスタに入れ、割り込み 0x80 を呼び出します。この名前は「システム コール」です。次のリンクを参照してください。

Windows もおそらく同様です。これは良い記事のように見えます。

http://www.codeguru.com/cpp/wp/system/devicedriverdevelopment/article.php/c8035

など...グーグル

于 2011-01-26T15:43:58.600 に答える
1

カーネル関数は syscall を使用して呼び出されます。これは通常、いくつかのレジスタ (syscall のタイプ、パラメーターなど) を埋め、ソフトウェア割り込み (int 0x80) または sysenter 命令 (アーキテクチャがサポートしている場合) を実行する形式を取ります。

Linux でこれを行っている場合は、次のような Linux syscall のドキュメントを参照することをお勧めします: http://bluemaster.iu.hio.no/edu/dark/lin-asm/syscalls.html

他のカーネル (windows) 用の同様のドキュメントが確かに存在します。

于 2011-01-26T15:41:49.053 に答える