-3

Windows プログラミング (保護モード) で RAM の最初の 1 MB に直接アクセスするにはどうすればよいですか?

たとえば、ビデオ部分に書き込みます。

DPMI を使用してすべての問題を解決できますか?

4

1 に答える 1

3

いいえ、通常の (= ユーザーモード) アプリケーションは、物理アドレス空間に直接アクセスできません (各アプリケーションが認識するアドレス空間は、MMU を介して OS によって管理される仮想アドレス空間です)。オペレーティング システムを持つことの要点は、ハードウェアの詳細を抽象化し、クリーンなプログラム インターフェイスをアプリケーションに提示することです。画面上に描画する場合は、Windows が提供するグラフィック ライブラリ (GDI、DirectX) を使用する必要があります。

カーネル モードで動作するドライバーを作成すれば、ほぼすべてのハードウェア リソースにアクセスできますが、Windows カーネル モード プログラミングの規則に注意深く従わなければ、システム全体がすぐに BSOD でクラッシュする可能性があります。 .

ビデオ RAM と DPMI について話している場合は、DOS スタイルのプログラミングに関する本やチュートリアルから来ていると思います (または、オペレーティング システムがまったくない場合でも)。実行されているのはコードだけではないため、最新のオペレーティングシステムのコンテキストでは、そのようなものはほとんど適用できないことに注意してください。したがって、協力してルールに従い、OS の API を使用する必要があります。

于 2012-05-28T00:01:10.597 に答える