シェルが実行される前のオペレーティングシステムはどのように見えますか?
OSとその構成方法によって異なります。Linuxは、テキストモードコンソール、フレームバッファーコンソール、シリアルポートのいずれであっても、ブートテキストをコンソールデバイスに書き込むように構成できます。また、完全にサイレントになるように構成することもできます。一部のOS /システムは、システムを開発者モード、デバッグモード、または診断モードにすることでアクセスできる不揮発性メモリに診断情報を書き込む場合があります。多くのオペレーティングシステムは、何らかの形式のUARTへのブートおよび診断情報の出力をサポートします。これは、ユーザーから隠されていてもユニットで何らかの形で利用できる場合があります。あなたはそれらに到達することができます)。
OSには外部ディスプレイはまったく必要ありません。OSの単なる別のデバイスです。
最初のシェルが開発される前のシステムはどのように使用されていましたか(1970年代初期のUNIXなど)。
基本的に(そして多くを省きますが、これでアイデアが得られるはずです)-パネルのスイッチを切り替えるか、ペーパーテープリーダーを使用してプログラムをロードし(これらのデバイスはCPUの介入なしにメモリに直接書き込みます)、次に開始します別のスイッチを持つCPU。CPUはこのプログラムを実行し、その出力を生成して停止します。これは、対話式処理ではなくバッチ処理です。別のプログラムを実行したい場合は、これをやり直す必要がありました。
コンピューターがコマンドを受け入れることさえできない場合(コマンドラインがない場合)、ユーザーはどのように操作できますか?
私はこの分野の専門家ではありませんが、Altair、IMSAI、PDP-8などの古くて古いコンピューターには、CPUを直接制御し、CPUの介入なしでメモリを直接読み書きできるフロントパネルスイッチがありました。
この最も基本的なインターフェイスは何ですか?
最近のCPUのほとんどではないにしても、ほとんどの場合、同じタイプの直接操作を可能にする「JTAGポート」があります。長い間、ほとんどのコンピューターは、OSに渡す前に電源を入れたときにシステムを制御するROMまたはファームウェアを搭載することが期待されてきたことに留意してください。ここには、プリブートユーティリティが存在するか、そのようなユーティリティをロードするための最小限のメカニズムが存在します。U-Bootなどの一部のブートローダーは、シリアルポート経由でアクセスできます。ブートローダーはOSの「背後」で実行されるのではなく、OSをロードし、それに制御を渡し、その後は実行されなくなります。
このインターフェイスをターミナルエミュレータで実行できますか、またはシェルの背後に行く方法はありませんか?
いいえ、JTAGインターフェースが必要です。それはエレクトロニクスの領域に飛び込んでおり、GuruPlugが付属しており、GuruPlugのボード上のフラッシュチップを直接プログラムできることを除いて、私はそれについてあまり知らないことを認めます-何かがブートローダーを殺す場合GuruPlug、フラッシュバックする「CPUに依存しない」方法があります。