「生」デバイスドライバと「調理済み」デバイスドライバの違いは何ですか?

「生」デバイスドライバと「調理済み」デバイスドライバの違いは何ですか?

この概念は、ターミナルドライバ(ほとんどのサイトで扱われているもの)にのみ適用されますか、それとも一般的なドライバにのみ適用されますか?

答え1

お尻生のそして料理端末ドライバにのみ適用されます。 「熟した」と呼ばれるモデル「原本」といいます非標準的なモデル。

デフォルトでは、ターミナルドライバはラインベースのシステムです。文字は、プログラムに渡される前にキャリッジリターン(Enterまたは)が発生するまで内部的にバッファリングされます。これを「クッキング」といいます。Returnこれにより、特定の文字(たとえば、、、、を参照)をstty(1)処理CtrlDできCtrlSます。端末ドライバは、文字を提供する前に文字を「料理」する。CtrlUBackspace

端末は、文字が端末ドライバによって処理されずに直接送信される「生」モードに切り替えることができます(INTRおよびQUIT文字は依然として処理されるように設定できます)。これにより、emacsWindowsやMacなどのプログラムで全画面表示をviより簡単に使用できます。

マンページの「正式モード」セクションでこれについての詳細を読むことができますtermios(3)


答え2

これらの用語はターミナルとディスクI / Oを記述するために使用されますが、それぞれの場合に異なる意味を持ちます。

端末装置の生モードと調理モードの処理(一度に文字ごとに1行、その他の違いがあります)。

「生」ディスク装置(/dev/rdsk/*)はブロック装置/dev/dsk/ではありません。 IIRCの主な違いは、ブロックデバイスにカーネルバッファリングがあり、I / Oモード(直接/マッピングI / Oなど)のきめ細かい制御をrawデバイスに割り当てることができることです。

生と調理済みのttyモードの説明を見つけることができます。ここで。 生のディスクデバイスとクッキングされたディスクデバイスの投稿を見つけることができます。ここで。

関連情報