問題タブ [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.
linux - デバイス ドライバを作成できるようにするための、デバイスの最小要件は何ですか?
最近、カーネル空間、特にデバイス ドライバーに関する記事を読み始めました。それで、デバイス用のデバイスドライバーを簡単に作成できるようにするために、デバイスにいくつかの最小要件があるのだろうかと思っていましたか?
linux - netfilter で複数のファイルをコンパイルする
カーネルモジュールで複数のファイル (他のファイルの関数を呼び出すファイル) をコンパイルするにはどうすればよいですか?
windows - Windowsドライバーのプログラミングを学ぶ
ドライバーのプログラミング学習に関するリソースとして、何をお勧めしますか? 私は Microsoft Windows ドライバー モデルのプログラミングに取り組んでいますが、いずれかの例が vista と互換性があるかどうか疑問に思っていました。さらに、この本はこれまでのカーネル関数のリファレンスにすぎません。中級者向けの wdm ドライバーを作成する際に、初心者が手を取り合うようなリソースはありますか? 基本的な「Hello World」ドライバーを実行しました。
ありがとう
networking - 最新のカーネルのほとんどは、ネットワーク IO に DMA を使用し、一般的なイーサネット コントローラーを使用していますか?
Linux や Windows などの最新のオペレーティング システムでは、通常、ネットワーク IO は DMA を使用して実行されますか? これは一般的なイーサネット コントローラに関するものです。特別なドライバーが必要なこと (少なくとも Linux では多くのワイヤレス カードなど) について質問しているわけではありません。答えは「はい」だと思いますが、ソース (特に Linux カーネル) や、より一般的な情報を提供するリソースに興味があります。ありがとう。
linux - Linuxでアセンブリコードを追加する方法
私はFedoraコア6でLinuxカーネルモジュールを書いていますが、以下に示すアセンブリコードをプログラムに追加する方法を誰かに教えてもらえないかと思います。アセンブリコードはWindows用に作成されており、Linuxカーネルプログラムに変換する方法がわかりません。
linux - Linux - 物理メモリ内の特定のアドレスを所有するプロセスを特定する
Linux では、特定のプロセスが物理メモリ内の特定のアドレスを所有/使用していることをどのように確認できますか?
これには、カーネル データ構造にアクセスして結果をユーザーに返すためのカーネル モジュールを作成する必要がある場合があることを理解しています。それがどれほど複雑であるかに関係なく、どのように実行できるかを知る必要があります。
linux - Linux カーネルが使用するキャッシュを消去する方法
キャッシュが大量のメモリを消費し始めた後 (「free」の出力でわかるように)、Linux カーネルがアプリケーションにより多くのメモリを割り当てるように強制したいと考えています。
私は走った
(ディスク dentry/inode キャッシュとページ キャッシュの両方を解放するため)、使用されているキャッシュの約半分だけが解放されていることがわかります。残りは残ります。残りのキャッシュを占有しているものを特定し、強制的に解放するにはどうすればよいですか?
linux - Linux カーネルのパスから inode を取得する
現在、カーネル関数で特定のパス名の inode を取得しようとしています。私が利用できるのは完全なパス名だけです。私は次のような試みを試みました:
しかし、その指定されたパスの dentry は有効ではないようです。次に、おそらく stat() を試して、そこから inode 番号を取得することを考えました。ただし、それは構造体のiノードではなく、番号のみを提供します。既存の inode を取得して inode のリスト全体を走査せずに inode 番号を inode に変換する方法を知りません。そして、それがうまくいくかどうかさえわかりません。しかし、私は確かにそれをしたくありません。
カーネル内の char *pathname から構造体 i ノードを取得する簡単な方法はありますか?