Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

TTY(ティーティーワイ)とは | 意味や読み方など丁寧でわかりやすい用語解説

TTY(ティーティーワイ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ティーティーワイ (ティーティーワイ)

英語表記

TTY (ティーティーワイ)

用語解説

TTYとは、本来「Terminal Teletype」の略であり、ユーザーがコンピュータシステムと対話するためのインターフェースを指す。その語源は、かつてコンピュータへの主要な入出力デバイスとして用いられていた、紙テープや印字機構を持つ物理的な電信装置であるテレタイプ端末に由来する。現代のコンピュータシステムにおいては、物理的な端末だけでなく、ソフトウェアによってエミュレートされた仮想的なインターフェース全般を指す概念として用いられている。

初期のコンピュータシステムでは、TTYは物理的なデバイスそのものだった。ユーザーはテレタイプ端末のキーボードからコマンドを入力し、システムからの応答はプリンタによって紙に印字された。これらの端末はシリアルポートを通じてコンピュータ本体と接続され、文字ベースの情報をやり取りしていた。この時代、TTYはユーザーとコンピュータが対話するための唯一の窓口であり、システムの操作において中心的な役割を担っていた。入出力の速度は現代の基準から見れば非常に遅く、また端末自体も高価なものであった。

しかし、技術の進化とともに、物理的なTTYの形態は大きく変化した。ブラウン管ディスプレイを備えたビデオ端末(VT100などが代表的)が登場し、紙に印字する代わりに画面に文字を表示するようになった。これにより、高速な表示と、画面をクリアして再利用できるインタラクティブ性が向上した。さらに、グラフィカルユーザーインターフェース(GUI)が普及し、マウスやウィンドウシステムが一般的になった現代においても、TTYの概念はソフトウェア的に引き継がれている。

現代のUnix系OS(Linuxなど)において、TTYは主に二つの形態で存在する。一つは「仮想コンソール(Virtual Console: VCまたはVTY)」と呼ばれるもので、物理的なキーボードとモニターに直接接続されたかのように振る舞う仮想的な端末である。これは、OSが起動した際にテキストモードで表示されるログインプロンプトや、Altキーとファンクションキー(例: Alt+F1, Alt+F2)を組み合わせて切り替えることができる画面が該当する。これらはカーネルによって直接管理され、システム管理や緊急時のトラブルシューティングなど、GUIが利用できない状況でもシステムを操作できる基本的な入出力環境を提供する。

もう一つは「擬似端末(Pseudo-Terminal: PTY)」と呼ばれるもので、これはソフトウェアによってエミュレートされるTTYである。PTYは、X Window System上で動作する「ターミナルエミュレータ」(例: xterm, gnome-terminal, Konsole)や、Secure Shell(SSH)によるリモート接続、あるいは「screen」や「tmux」のようなターミナル多重化ツールなどで利用される。これらのアプリケーションは、実際には物理的なTTYデバイスと直接通信しているわけではなく、カーネルが提供するPTYインターフェースを介して、あたかもTTYであるかのように振る舞うことで、ユーザーの入力とシステムの出力を仲介している。PTYは通常、「マスター」と「スレーブ」のペアで構成される。マスター側はターミナルエミュレータなどのアプリケーションが担当し、スレーブ側はシェル(bash, zshなど)のようなユーザープロセスが接続される。マスター側がユーザーからの入力(キーボードイベント)を受け取り、それをスレーブ側に渡す。スレーブ側(シェル)で実行されたコマンドの出力は、PTYを経由してマスター側に戻され、ターミナルエミュレータのウィンドウに表示される。

TTYドライバは、カーネル内部でTTYの機能を管理する重要なコンポーネントである。ユーザーがキーボードから文字を入力すると、そのデータはTTYドライバに渡される。TTYドライバは、入力された文字をバッファリングしたり、特定の制御文字(例: Ctrl+Cで実行中のプロセスに中断シグナルを送る、Ctrl+Dでファイルの終端を通知する、Ctrl+Zでプロセスを一時停止する)を解釈して適切な処理を行ったりする。また、バックスペースキーによる文字の削除や、行頭・行末への移動など、基本的な行編集機能もTTYドライバが提供する。これらの処理を経て整形された入力データは、最終的にシェルなどのユーザープロセスに渡され、コマンドとして解釈・実行される。同様に、プロセスからの出力データはTTYドライバを経由して、画面に表示される。

このように、TTYは物理的なデバイスからソフトウェアによるエミュレーションへとその形態を変えながらも、ユーザーとコンピュータシステムがテキストベースで対話するための基本的なインターフェースとして、現代のシステムにおいても不可欠な役割を果たし続けている。システムエンジニアにとって、TTYの概念とその種類、およびそれぞれの機能や利用シーンを理解することは、システム管理やトラブルシューティング、あるいはリモートアクセス環境の構築において非常に重要となる。

関連コンテンツ