8

Linux カーネル空間でユーザー プログラム (カーネル モジュールではない) を実行したい場合、どのようなオプションがありますか?

KML (カーネル モード Linux) を見てきましたが、それは IA-32 アーキテクチャに固有のものです。クロスプラットフォームで、組み込み Linux システムで動作するソリューションが必要です。

4

7 に答える 7

6

ユーザー プログラムはカーネル空間では実行されません。それが、ユーザー プログラムを作る理由です。

カーネル空間でコードを実行したい場合、2 つのオプションがあります。カーネルにビルドするか、カーネル モジュールと共にロードします。

于 2010-07-20T13:59:08.543 に答える
5

call_usrmodehelper

于 2010-08-09T06:29:49.777 に答える
5

別の質問で、あなたはカーネルプログラミングの初心者だと書いています。KML の使用は非常に型にはまらず、標準的な方法で行うよりもはるかに複雑になります。それはあなたの学習をはるかに難しくします。カーネル空間でユーザー空間アプリを実行する理由を再評価し、実行しない方法を見つけることをお勧めします。

そのようなことをする正当な理由があるかもしれませんが、その理由が何であるかは私には明らかではありません. カーネル開発で理解しておくべきことの 1 つは、何かが可能であるからといって、必ずしもそれを実行する必要があるとは限らないということです。

クロス プラットフォーム ソリューションが本当に必要な場合は、自分で作成する必要があります。KML でサポートされているアーキテクチャは、IA32 と AMD64 のみです。

于 2010-07-20T18:22:46.980 に答える
3

FemtoLinuxを見てください。基本的には、組み込みシステムおよびARMやMIPSなどの組み込みプロセッサ用のKMLです。

于 2010-07-29T18:25:54.373 に答える
3

異なるプラットフォームのカーネルはすべて異なるため、カーネルプログラミングは定義上、ほとんどプラットフォーム固有です。

于 2010-07-20T13:00:48.987 に答える