仮想端末の実装に2つの「仮想シリアルポート」がありますか?

仮想端末の実装に2つの「仮想シリアルポート」がありますか?

次の図は、物理端末の状況を示しています(例:VT100)はUnixを実行しているコンピュータに接続されています(例:プラズマ11):

ここに画像の説明を入力してください。

青色で強調表示されたコンポーネントは、端末がシリアルポートを介してコンピュータに接続されていることを示します(画像には「シリアルポート」ではなく「UART」と表示されます)。したがって、デフォルトでは、端末にはコンピュータのシリアルポートに有線で接続されたシリアルポートがあります(この画像には端末シリアルポートのコンポーネントも表示されません)。

端末またはコンピュータでシリアルポートの転送速度を変更できます(参照:ここ)。


次の図は、最新のLinux / Unixシステムで仮想端末を実装する方法を示しています。

ここに画像の説明を入力してください。

青色で強調表示されたコンポーネントは、ターミナルエミュレータが2つの「仮想シリアルポート」を使用せずに回線セクターに直接接続されていることを示します。

今私の質問は、このイメージ(仮想端末の実装)がアセンブリ全体を表示するのですか、それとも端末エミュレータの後ろに1つの「仮想シリアルポート」があり、ラインルールの前に別の「仮想シリアルポート」があるのですか?

これら2つの「仮想シリアルポート」が存在する場合、ボーレートも変更できますか?

これら二つの写真から得たものここ

ベストアンサー1

ワイヤルールは、「ワイヤ」(初期UNIXシステムのワイヤ)全体の特殊文字(ソフトウェアフロー制御や文字生成信号など)の処理を制御します。いくつかの可能な回線規則があり、ttyドライバはそのttyを担当する回線規則を呼び出します。

したがって、ライン規約の前に「仮想シリアルポート」を持つことはまったく意味がありません。最初の写真にもなく、2番目の写真にもありません。

ラインルールはカーネルの他の部分(シリアルポートドライバ(USB、UARTなど)または仮想コンソール用のエミュレータなど)を呼び出し、文字が到着するとそのドライバでも呼び出されます。したがって、ある意味では、さまざまなコンポーネントを接続できる「仮想スイッチ」です。

ただし、特定の速度で有線でバイトをビットに送信し、ビットからバイトへの再組み立てを何らかの方法でシミュレートできるシリアルポートドライバのペアはありません。これは不必要に遅く機能を提供しないからです。

ただし、ボーレート、ストップビット数などを設定できます。みんなディディ。これらのパラメータは、仮想コンソールなどのパラメータを必要としないドライバでは無視されます。

おすすめ記事