問題タブ [kernel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
224 参照

linux - デバイス ドライバを作成できるようにするための、デバイスの最小要件は何ですか?

最近、カーネル空間、特にデバイス ドライバーに関する記事を読み始めました。それで、デバイス用のデバイスドライバーを簡単に作成できるようにするために、デバイスにいくつかの最小要件があるのだろうかと思っていましたか?

0 投票する
1 に答える
191 参照

linux - netfilter で複数のファイルをコンパイルする

カーネルモジュールで複数のファイル (他のファイルの関数を呼び出すファイル) をコンパイルするにはどうすればよいですか?

0 投票する
2 に答える
11476 参照

linux - unistd.hなしで現在のプロセスのプロセスIDを取得する

私はデッドロック検出アルゴリズムに取り組んでおり、カーネルレベルのライブラリのみが提供されて#include <linux/somelibrary>います。getpid()と同様の現在のプロセスのpidを取得できるカーネルレベルの機能はありunistd.hますか?

0 投票する
5 に答える
10029 参照

windows - Windowsドライバーのプログラミングを学ぶ

ドライバーのプログラミング学習に関するリソースとして、何をお勧めしますか? 私は Microsoft Windows ドライバー モデルのプログラミングに取り組んでいますが、いずれかの例が vista と互換性があるかどうか疑問に思っていました。さらに、この本はこれまでのカーネル関数のリファレンスにすぎません。中級者向けの wdm ドライバーを作成する際に、初心者が手を取り合うようなリソースはありますか? 基本的な「Hello World」ドライバーを実行しました。

ありがとう

0 投票する
2 に答える
1767 参照

networking - 最新のカーネルのほとんどは、ネットワーク IO に DMA を使用し、一般的なイーサネット コントローラーを使用していますか?

Linux や Windows などの最新のオペレーティング システムでは、通常、ネットワーク IO は DMA を使用して実行されますか? これは一般的なイーサネット コントローラに関するものです。特別なドライバーが必要なこと (少なくとも Linux では多くのワイヤレス カードなど) について質問しているわけではありません。答えは「はい」だと思いますが、ソース (特に Linux カーネル) や、より一般的な情報を提供するリソースに興味があります。ありがとう。

0 投票する
4 に答える
1636 参照

linux - Linuxでアセンブリコードを追加する方法

私はFedoraコア6でLinuxカーネルモジュールを書いていますが、以下に示すアセンブリコードをプログラムに追加する方法を誰かに教えてもらえないかと思います。アセンブリコードはWindows用に作成されており、Linuxカーネルプログラムに変換する方法がわかりません。

0 投票する
4 に答える
2462 参照

linux - Linux - 物理メモリ内の特定のアドレスを所有するプロセスを特定する

Linux では、特定のプロセスが物理メモリ内の特定のアドレスを所有/使用していることをどのように確認できますか?

これには、カーネル データ構造にアクセスして結果をユーザーに返すためのカーネル モジュールを作成する必要がある場合があることを理解しています。それがどれほど複雑であるかに関係なく、どのように実行できるかを知る必要があります。

0 投票する
3 に答える
36091 参照

linux - Linux カーネルが使用するキャッシュを消去する方法

キャッシュが大量のメモリを消費し始めた後 (「free」の出力でわかるように)、Linux カーネルがアプリケーションにより多くのメモリを割り当てるように強制したいと考えています。

私は走った

(ディスク dentry/inode キャッシュとページ キャッシュの両方を解放するため)、使用されているキャッシュの約半分だけが解放されていることがわかります。残りは残ります。残りのキャッシュを占有しているものを特定し、強制的に解放するにはどうすればよいですか?

0 投票する
2 に答える
3991 参照

linux - Linux カーネルのパスから inode を取得する

現在、カーネル関数で特定のパス名の inode を取得しようとしています。私が利用できるのは完全なパス名だけです。私は次のような試みを試みました:

しかし、その指定されたパスの dentry は有効ではないようです。次に、おそらく stat() を試して、そこから inode 番号を取得することを考えました。ただし、それは構造体のiノードではなく、番号のみを提供します。既存の inode を取得して inode のリスト全体を走査せずに inode 番号を inode に変換する方法を知りません。そして、それがうまくいくかどうかさえわかりません。しかし、私は確かにそれをしたくありません。

カーネル内の char *pathname から構造体 i ノードを取得する簡単な方法はありますか?