ttyドライバとライン規律の関係は何ですか?

ttyドライバとライン規律の関係は何ですか?

有名な」TTY公開"、下図のように:ここに画像の説明を入力してください。

ユーザープロセスは、ラインルールと通信する「TTYドライバ」と通信しているようです。しかしオライリーの本:

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

ユーザーアプリケーションがラインルールと対話する「ttyコア」と対話し、ttyドライバがハードウェアより前の最後の層であるように見えます。誰かが「ttyドライバ」が正確に何であるかを説明してもらえますか?私は私の質問を明確に言いたいと思います。

私が知る限り、ドライバはハードウェアと通信するために使用されるソフトウェアです。たとえば、ディスクコントローラと通信する方法を知っているデバイスドライバがあります。このドライバは、実際にデバイスコントローラのレジスタを読み書きすることを担当します。一方、ファイルシステムドライバなど、ハードウェアと通信するために使用されないドライバがあり、基本的に特定の方法でデータを構成する方法を知っているソフトウェアです。

ttyドライバはどのタイプのドライバですか?ライン規律はどこに適用されますか?

編集する

O'Reillyの章を読んで観察した後、O'Reillyが「TTYドライバー」と呼ぶのは、実際には「The TTY demystified」が「UARTドライバー」と呼ばれ、O'Reillyが言う「TTYドライバー」のようです。 「TTYドライバ」は実際には「UARTドライバ」を意味します。 「TTY Core」は、「TTY Revealed」の「TTY Driver」が意味するものです。

つまり、O'Reillyの「TTYドライバ」はハードウェアと対話するために使用されるデバイスドライバですが、「TTYコア」はラインルールを介してユーザープロセス(したがってドライバ(?))からデータを受信するために使用されます。カーネルソフトウェアです。これを正しいドライバに送信します(UARTドライバまたはptyマスターのままにしてください)。

そうですか?

ベストアンサー1

ttyドライバとライン規律の関係は何ですか?

プロセスは規律と通信します。しかし、規律は、rawメッセージを転送する以外に何もしない(無作為、空の規律)かもしれません。

これがO'Reillyの本に出てくるスタックが次のような理由です。直接左がライントレーニング、右がライントレーニングです。これがno-op/raw/null行規則を解釈する方法です(raw設定に使用できる実際の名前ですstty raw)。

おすすめ記事