実際のモードとは何ですか?
リアルモードは、コンピューターマイクロプロセッサのメモリアドレススキームと動作状態です。実際のモードでは、プログラムでアクセスできるメモリ(通常はランダムアクセスメモリ(RAM))は、ハードウェア、ソフトウェア、または基本的な入力および出力サービス(BIOS)によって何らかの形で管理またはバッファリングされません。これは、メモリが使用されているものに関係なく、プログラムがすべての到達可能なメモリアドレスにアクセスできることを意味し、読み書きのすべての側面を単独で管理する必要があります。アクセス可能なメモリの量が1メガバイトに制限されているという事実を含む、実際のモードを使用することにはいくつかの制限があります。このモードのプロセッサは、アドレスの長さが20ビットしかないためです。実用的な観点から、コンピューターソフトウェアは、保護モードとして知られるより安全で拡張可能な、より柔軟なアドレス指定モードに置き換えられたため、リアルモードを使用しなくなりました。
コンピューターの中央処理ユニット(CPU)は、実際のモードをアクティブにできる場所であり、モードのほとんどの側面は、本質的にかなり原子的であるため、アセンブリ言語で書かれたアプリケーションで通常見られる問題に実際に対処します。元の8086アーキテクチャに基づいたプロセッサチップは、以前のハードウェア用に記述されたプログラムを実行できるように電源を入れたときに実際のモードで始まりますが、これにはエミュレーションソフトウェアを成功させる必要があります。保護されたモードは、2011年の時点で実際のアドレス指定をほぼ完全に置き換えており、実際のアドレス指定を使用できるプログラムをコンパイルしたり、それを実行できるメインストリームオペレーティングシステムをさらに少ないプログラムをコンパイルできるコンパイラが非常に少ないポイントにあります。
実際のモードのメモリは、基本的に、16ビットセグメントアドレスで構成されるアドレスとセグメント内の4ビットオフセットで自由にアクセスできる単一の線形シーケンスのバイトのシーケンスであり、結合すると完全な20ビットアドレスを作成します。プログラムはアクセスできます場所に関係なく、メモリの任意のポイントを記憶し、何でも読み書きします。これは、適切な管理と知識がなければ、実際のアドレス指定モードを使用するプログラムは、オペレーティングシステムとシステムBIOSを簡単に上書きしたり、物理ハードウェア割り込みを引き起こしたり、誤って末梢デバイスに信号を送信したりすることを意味します。これにより、システムが凍結またはクラッシュする可能性があるだけでなく、ハードウェアのデータ損失や物理的損傷を引き起こす可能性もあります。
プロセッサアーキテクチャが高度になると、保護されたモードは最終的にほとんどすべてのソフトウェアで実際のモードを置き換えました。時間が経つにつれて、実際のアドレス指定モードの使用は不要になりました。これは、1メガバイトを超えるRAMにアクセスできず、20ビット以上のシステムバスを使用できないため、ほとんどのコンピューターで利用可能なリソースのほんの一部しか使用できませんでした。また、実際の対処は重大なセキュリティリスクをもたらします。実際のアドレス指定モードを使用するプログラムを作成する数少ない方法の1つは、アセンブリ言語を使用することです。起動時に自動的に保護されたモードに切り替えられない特別なディスクオペレーティングシステム(DOS)でプログラムを実行します。