伝送終了文字

伝送終了文字(EOT)とは



電気通信において、伝送終了文字(EOT: End-of-Transmission character)は、データ送信側が受信側に対してデータ伝送の終了を通知するために使用される制御文字です。このデータには、テキストだけでなく、メッセージのヘッダなども含まれます。EOTは、回線の解放、端末の切断、受信側の待機状態への移行など、様々な場面で使用されます。

最も一般的な使用例としては、UNIX系のシステムにおけるファイルの終端(EOF)の通知があります。具体的には、端末ドライバに対して、入力が終了したことを伝え、入力を待機しているプログラムを終了させる役割を担います。

EOTの技術的な詳細



ASCIIUnicodeでは、EOTはU+0004に割り当てられています。これは、キーボードから`Ctrl + D`を入力することで送信でき、キャレット記法では`^D`と表現されます。また、UnicodeにはEOTの図形表現として、U+2404(␄)とU+2301(⌁)も用意されています。

UNIX系OSにおけるEOTの利用



UNIX系OS(Linuxなど)では、`Ctrl + D`(EOT)は、DOSにおける`Ctrl + Z`(SUB)とは異なる役割を持ちます。DOSでは`Ctrl + Z`は、テキストの終了位置を示すためにファイルに記録されますが、UNIXでは`Ctrl + D`は、端末ドライバにファイルの終端を通知するためだけに使用され、ファイルに書き込まれることはありません。

UNIXにおいて、end-of-file文字(デフォルトはEOT)が入力されると、端末ドライバは入力バッファにあるすべての文字を即座にプログラムへ送信します。通常、ドライバは改行文字などが入力されるまで文字をバッファに溜め込みますが、EOTが入力された場合はその限りではありません。入力バッファが空の場合、プログラムは0バイトを読み取り、これをファイルの終端として認識します。

具体例:catコマンドでの挙動



この動作は、UNIXの`cat`コマンドで確認できます。引数なしで`cat`コマンドを実行すると、キーボードからの入力を待ち受け、入力された内容を画面に出力します。ここで、文字を入力した後、`Ctrl + D`を押すと、入力した文字が画面に表示されます。何も入力せずに`Ctrl + D`を押すと、入力ストリームが終了し、`cat`コマンドは終了します。`Ctrl + V`の後に`Ctrl + D`を押すと、EOTコード自体が入力されます。

rawモードでの挙動



端末ドライバがrawモードの場合、制御文字は解釈されず、EOT文字はそのままプログラムに送られます。プログラムはEOTバイトを自由に解釈できます。通常、プログラムはEOTをテキストの終了指示として処理し、DOSプログラムにおける`Ctrl + Z`と同様の挙動を示します。

メインフレームでの利用



EOT文字は、IBMバロースなどのメインフレームコンピュータシステムにおける通信プロトコルでも利用されます。IBM 3270のPoll/SelectやバロースTD830などのプロトコルでは、EOTは2つの協調動作するコンピュータ間での通信シーケンスを終了するために使用されます。

例えば、Poll(データの要求)やSelect(データの送信)操作では、ポーリング側とポーリングされる側のコンピュータ間で2回の往復通信が行われ、最後にEOT文字が送信されます。

まとめ



伝送終了文字(EOT)は、データ伝送の完了を通知する重要な制御文字であり、様々なシステムやプロトコルで利用されています。UNIX系OSにおけるファイルの終端通知や、メインフレームでの通信シーケンスの終了など、その用途は多岐に渡ります。EOTの役割を理解することは、データ通信の仕組みを理解する上で非常に重要です。



関連項目



制御文字
ASCII
* ショートカットキー

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。