Unixでは、仮想端末の概念を理解しようとしていますが、端末エミュレータの必要性と仮想コンソールの概念を明確に把握することはできません。
ビデオを見ています。スピーチYouTubeでは、インストラクターは現在、モニター、キーボード、マウスの設定がすべてあるため、端末がないと言いました。なぜ我々はそれらを端末として扱うことができないのですか? ~によると定義プロセスと通信するために使用されるハードウェアのセットである端末。それでは、著者はなぜ今は端末がないと言うのでしょうか?
端末エミュレータが必要なのはなぜですか?講師は、端末エミュレータが「xウィンドウシステムサーバ」の間にあり、プロセスが端末エミュレータを使用して出力デバイスと通信していると述べた。ただし、GUIプロセスの場合は、実際にはstdin / stdout用のデバイスドライバと通信する「xウィンドウシステムサーバー」と直接通信します。しかし、プロセスが「xウィンドウサーバー」と直接通信できる場合、なぜ端末エミュレータが必要なのですか? 「xウィンドウサーバー」のCLIサポートがなく、コマンドライン対話の場合、ターミナルエミュレータはプロセスと「xウィンドウサーバー」の間のアダプターとして機能しますか?
編集: -
以下の回答やその他のリソースを見てみましたが、これが私が得たものです。ディスプレイは2つの状況で動作できます。キャラクターモードまたアジア太平洋協会モデル。コマンドラインインターフェイスを使用する場合、システムにはI / O用のターミナル文字デバイスファイルが必要です。これで、GUIが実行されているとき(すでに文字以外のモードで表示されていることを意味します)、CLIを開くと、セッションで通信するために端末文字ファイルが必要ですが、ファイルは存在しません。したがって、擬似端末文字ファイルを生成し、x-window-serverと通信してアダプタとして機能する端末エミュレータが必要です。
カーネルには、テキストモードを使用してモニターに接続するときに機能するいくつかのデバイス固有の実際の端末文字ファイルもあります。 GUIを使用すると、端末文字ファイルは必要ありません。
そうなのでしょうか、それとも私が間違っているのでしょうか?
答え1
Unixファミリーオペレーティングシステムは、時間共有環境用に設計されており、ターミナルプロトコルとターミナルプロトコルを使用して、これらのシステムで実行されているプロセスと通信します。
最新のUnixファミリーシステムでは、プロセスとその端末の両方が同じシステムで実行されます。したがって、端末エミュレータは、ソフトウェア内で実行される物理端末のように動作し、その後プロセスと通信します。
POSIXの互換性を維持し、これがプロセス間通信の便利な形式であるという事実を含む、このシステムを維持する必要がある実用的な理由があります。