問題タブ [windows-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 投票する
1 に答える
1821 参照

windows - 2 つの VirtualBox ホストを使用した Windows カーネルのデバッグ

私は Linux を実行しており、VirtualBox に 2 台の Windows 7 マシンをセットアップしています。

今、最初のマシンを使用して 2 番目のマシンをデバッグしようとしています。

そこで、2 台のマシンに同じホスト パイプを構成しました。

ここに画像の説明を入力

デバッガー マシンで、入力を待機する windbg を起動しますCOM1

ここに画像の説明を入力

デバッグ対象のマシンで、デバッグ モードを有効にして再起動し、

しかし、彼らはお互いを知らないようで、盲目的に待っているだけです。

何か間違っていますか?それとも、達成するのは不可能でしたか。

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

linux - Linux のシステム空間全体のアドレス空間がデマンド ページングを使用しないというのは本当ですか?

私は現在 Windows を研究していますが、Windows は、システム空間のアドレス空間でページ プールと非ページ プールと名付けられた 2 つのメモリ セクションを使用していることがわかりました。したがって、ウィンドウの重要なセクションのみが非ページ プール (デマンド ページングを使用しない) に保持されます。Linux では、すべてのシステム空間のアドレス空間がデマンド ページングの概念を使用しないと教えられましたが? その情報がすべて正しければ、Windows は Linux よりも実行に必要な RAM の量が少ないと結論付けるべきでしょうか??

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

windows - Windows デバイス ドライバの pdo と fdo の違いは何ですか?

私は自分で Windows デバイス ドライバーを勉強していますが、PDO と FDO を区別するのは非常に難しいと感じています。私が間違っている場合は、私が頭の中に持っている流れを教えてください!!

システムの起動時に、FDO を作成するルート バス ドライバーが読み込まれます。これで、子デバイスが列挙され、バス ドライバーのホット プラグ メソッドが呼び出され、新しい子デバイスが検出され、そのメソッドが PNP マネージャーに通知されると思います。PNP マネージャーは、ルート バス ドライバーの AddDevice() ルーチンを呼び出し、PCI などの新しいバスの PDO をインターンで作成します。全体の流れを詳しく説明してください。これは単なる私の想像です。そして、システムが FDO を作成する PCI バスの機能ドライバーをロードすることが文書化されています ?? このFDOは何ですか?? そして、なぜ私はそれが必要なのですか?? 私によると、PCIバスドライバーもルートバスと同じように、その子を列挙してそれらのPDOを作成する必要があります。または、このFDOはPDOのみを意味します?? 私はとても混乱しています:( !!

0 投票する
0 に答える
44 参照

windows - I/O Manager のモデルが WinXP から WinVista+ に変更されましたか?

WDM、I/O マネージャーなどを試しています。I /O マネージャーがどのように動作するかについて説明している thisに出会いました。私は知りたいです

  1. これはWDM(XP時代)にも当てはまりますか? FSDとすべて(!!)
  2. そうでない場合、当時の I/O マネージャーの詳細はどこで入手できますか?

読んでいる間、WDMにはなかったと信じているユーザーモードドライバーとカーネルモードドライバーのようなにおいがするので、私はこれを疑っています。

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

kernel - WCHAR * を UNICODE STRING に変換

まずはWindowsドライバ開発に挑戦。WCHAR配列がnullで終了していないと仮定して、WCHAR配列(ユーザー空間からのもの)をUNICODE_STRING(カーネルモード)に変換するにはどうすればよいですか?

null で終わるかどうか、および新しいバッファー (null の場合は +2) を割り当てないかどうかを確認してから、RtlAnsiXXX 関数を使用する必要がありますか? 適切な方法は何ですか?

ありがとう!

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

kernel - Windows カーネル プログラミングを始めるには?

私は主に C# で作業するアプリケーション開発者です。C/C++ についてある程度の知識があります。私は Windows カーネル開発に非常に興味を持っています。これを学ぶためにレイアウトをスケッチしました。

これを達成するには、次の点について助けが必要です。

親切に助けてください。

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

windows - VS 2013 カーネル モード ドライバーのデバッグ

VS 2013 でカーネル デバッグをセットアップしようとしています。新しいターゲット マシンを追加するために [Drivers/Add] に移動すると、リモート コンピューターに接続され、多くのセットアップが実行されますが、失敗するコマンドが常に 2 つあります。 .

ここに画像の説明を入力

ログで失敗しているコマンドを調べ、それをバッチ ファイルに貼り付けて、ターゲット マシンで実行しました。私は元気に走ります。しかし、VS から [コンピューターの追加] を再実行しようとすると、同じエラーが発生します。

VMware VM ターゲットと物理 PC ターゲットの両方でこれを試しましたが、コンピューターを逆方向に追加しようとしましたが、常に同じ失敗が発生します。これらのマシンを相互に ping でき、すべてのマシンは Win8 x86 です。ネットワーク検出と共有がオンになっています。Windows ファイアウォールがオフになっています。これらはバージン OS インストールであるため、マシンには OS、VS2013、および WDK 8.1 以外は何もありません。

これを解決する方法に関するヒントはありますか?

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

linux - Linux x86 では、カーネル空間はユーザー空間にマップされていますか?

Windows 32 ビットでは、カーネルは合計 4G のユーザー仮想メモリ空​​間から 1G の仮想メモリを予約し、カーネル空間の一部をこの 1G 空間にマップするようです。

だから私の質問は:

  1. 32 ビット Linux で同様の状況はありますか?
  2. もしそうなら、どうすればメモリレイアウト全体を見ることができますか?

おもう

特定のプロセスのユーザー空間レイアウトしか見ることができません..

ありがとうございました!