web-dev-qa-db-ja.com

ptyのスレーブ側のプロセスは、ラインディシプリンまたはスレーブttyドライバーと通信しますか?

疑似端末(pty)がどのように機能するかについて2つの相反するイメージを見つけました。

最初の画像は、ptyのスレーブ側のプロセスがラインディシプリンと通信していることを示しています。

enter image description here

2番目の画像は、ptyのスレーブ側のプロセスがスレーブttyドライバーと通信することを示しています。

enter image description here

どの画像が正しいですか?

6
paul

2番目の画像は正しいです。 (ところで、それは来る ここから 。)

この質問 で受け入れられた回答から:

ラインディシプリンは、シリアル/ ptyデバイスとライン/ワイヤ(ptyのマスター側)の間にあるシリアル/ ptyデバイスの上にプッシュされるソフトウェアモジュール(カーネル内のドライバーに存在する)です。

(...)

Stty raw -echoを発行することで、tty行の規律を無効にする効果を確認できます(bashプロンプトまたはviなどの他のインタラクティブアプリケーションは、ターミナルを必要なモードに設定するため、catなどのダムアプリケーションを使用する必要があります。それを経験してください)。次に、スレーブ端末デバイスに書き込まれたものはすべて、xtermが読み取るためにすぐにマスター側に送られ、xtermによってマスター側に書き込まれたすべての文字は、スレーブデバイスからすぐに読み取ることができます。

この投稿 ttysについても参照してください。

4
dr_