質問: こんにちは 調べてみても同じようなことを考えている人が少ないようで情報が得られなかったので、質問させていただきます。 ### 質問本文 タイトルの通りです。 画面に文字などが描かれているということは内部では "左から1px,上から1pxの所には黒を表示しよう"(これは想像ですが) といったような命令がなされていると考えたのですが、 だとするとC言語やアセンブラにそのような命令が用意されているのでしょうか? それとも、GPU等に命令を出す方法があるのでしょうか? 支離滅裂で申し訳ありませんが要約すると、 **OS等に頼らずに画面に描画できないか?**ということです。 ### 最後に 勉強目的の質問ですのでDirectXやOpenGLなどを使えばもう少し簡単にできることは重々承知しているのですが、あえて全て自分でやる方法を質問させていただきます。
回答: 多分現在の大抵の汎用OSの元ではできないのではないかと思います。もしこれが簡単にできてしまうとプログラムにバグがあってたまたまVRAMへデータを書き込んでしまうとディスプレーの表示が乱れてしまい、そのプログラムのバグのおかげでOS全体が操作不能になりかねなくなるのではないでしょうか。 ずーっと昔のシングルタスクの素朴なOSであれば自由にVRAMだのHDDだののハードウェアに直接アクセスできたと思いますが現在のOSでは「アプリケーションプログラムが暴走してもそれによってOSがダウンしない」ように「しかるべきコンピューター資源(VRAMとかのハードウェア)はアプリケーションプログラムが直接触れないように保護されている」と思います。 ただ組み込み機器用のOSだとこうしたこともできたりするのじゃないでしょうか。