たとえば、「hello world」プログラムを (オペレーティング システムとして) 実行する非常に単純なブートローダーを作成した場合、処理されたテキストのグラフィカルな表現はどこにありますか。GPU がテキストをレンダリングするか、ハードウェアです。基本的なテキストの入力と出力は、BIOS またはプロセッサでハードコーディングされていますか? それとも、アセンブリ/プログラミング言語に統合されていますか?
2 に答える
PC の世界では、ビデオ サブシステムにキャラクター ジェネレーターがあります。ビデオ RAM から 8 ビットの文字値を取得し、文字定義マトリックス (ROM にある場合も、カスタム文字セット用に RAM 内のマトリックスを指す場合もあります) を使用して、表示を生成します。これは純粋なテキスト モードにのみ適用されます。グラフィカル モードは、ビデオ RAM レイアウトに関してはまったく別の動物です (また、GPU なども関与し始めます)。
GPU は、プロセッサ、ディスクリート カード、またはマザーボードに搭載することもできます。基本的な I/O はフレームバッファを介して処理され、通常は BIOS によって 0xb8000 にマップされます。シンプルな I/O を取得するには、ASCII 文字をフレームバッファーに書き込むだけで、カードはそれらを画面に出力するだけです (あなたが言ったような基本的な OS で)。
これは、メモリ値を直接アドレス指定でき、ネイティブ コードにコンパイルできる任意の低レベル言語で実現できます。
画面に表示されるテキスト (このテキストなど) については、フォント、スタイル、およびその他の処理が必要なため、通常はソフトウェアの仕事です。これは通常、画面描画を許可するオペレーティング システムまたはドライバー自体によってエクスポートされた基本的な API を介して処理されます。