4
各擬似端末(PTY)コンポーネント(ソフトウェア、マスター側、スレーブ側)の責任は何ですか?
ttyがどのように機能するかを把握しようとしています1(各要素のワークフローと責任)。私はそれについていくつかの興味深い記事を読みましたが、まだいくつかのぼやけた領域があります。 これは私がこれまでに理解していることです: エミュレートされた端末は/dev/ptmx、擬似端末のマスター部分であるに異なるシステム呼び出しを行います。 擬似端末のマスター部分は、/dev/pts/[0-N]廃止されたシリアルポートに対応するにファイルを割り当て、スレーブ擬似端末をそれに接続します。 スレーブ擬似端末は、セッションID、フォアグラウンドジョブ、画面サイズなどの情報を保持します。 私の質問は次のとおりです。 スレーブ部分を割り当てる以外に、ptmxにはどんな目的がありますか?何らかの「インテリジェンス」を提供しますか、またはエミュレートされた端末(たとえばxterm)が端末のように動作するすべてのインテリジェンスを備えていますか? xtermはスレーブパーツのstdoutとstdinのみを転送するため、マスターパーツと対話する必要があるのはなぜですか?なぜptsファイルから直接読み書きできないの ですか? セッションIDは常に1つのPTSファイルに添付されますか?psコマンドを入力して、同じ/ dev / pts / Xの2つのsessionIdを見つけられますか? ptsストアには他にどのような情報がありますか?Xtermはすべてのフィールドを自分で更新しますか、それともptm何らかの「インテリジェンス」を追加しますか? 1. Linus Akessonによって謎解かれたTTYとAndries Brouwer投稿によるLinux Kernelに、これらのサイトの他のいくつかの質問のように、私の理解の基礎を置きます。