端末
端末(たんまつ)とは、
- 携帯機器
- 通信端末
- ユーザインタフェースを備えた端末装置。本項で解説。
端末(端末装置、英: computer terminal)とは、電子式あるいは電気機械式のハードウェアであり、ユーザーがデータをコンピュータに入出力するのに使う。主としてオペレータや利用者がコンピュータを使うためのユーザインタフェース機能を備えた装置のことである。
通常の端末の機能は、データの表示と入力に限定されている。それ単体でデータ処理のプログラミングが可能な装置はインテリジェント端末またはシンクライアントと呼ぶ。パーソナルコンピュータ上で端末のエミュレータを動作させることができ、ローカルなプログラムと遠隔のホストシステムへのアクセスを同時に動作させることも可能である。
目次
コンソールと利用者端末
コンソール
大型のコンピュータ(汎用機あるいはメインフレーム)やミニコンピュータに直結され、運用(運転)目的で操作をするための装置で、コンピュータ・コンソールあるいは単にコンソールともいう。
かつては汎用機の運用制御をハードウェアにより行っていたため、各機能専用のスイッチや表示等を配列した操作卓(コンソール)とデータ入力・記録用のテレタイプ端末が用いられた。後に大半の運用制御をオペレーティングシステムなどとの対話処理で行えるようになると、CRTディスプレイを用いたビデオ表示端末を内蔵したコンソールも使われるようになった。 今日のUnixサーバなどでは通常のビデオ表示端末上の仮想端末(後述)でコンソール機能を実現していることが多い。
利用者端末(リモート端末)
汎用機は本体を計算機室に設置し、通信回線を通じて利用者向けのテレタイプ端末やビデオ表示端末を接続して処理を行った。制御用ミニコンピュータも制御する対象機器と一緒に置かれるほかは同様であった。 また、汎用機ではTSSが普及する前は、パンチカードリーダが入力端末として広く用いられた。 そのほか汎用機では本体に直接接続される高速プリンタを持つのが普通であるが、これらも端末装置の一種と考えられる。
歴史
初期の端末は、本来は電信に使われた機器である ASR-33(右写真)のような電気機械式のテレタイプ端末 (TTY) であった。その後、DECの DECwriter のようなプリンタで印字する専用端末が登場した。しかし、プリンタで印字する速度に制限されること、対話的な利用ではプリンタで記録を残す必要性が低いことから、あまり普及しなかった(端末を使用しないバッチ処理が主流だった)。
1970年代初めごろ、パンチカードの代わりに既に利用可能となっていたビデオ表示端末を使うことで、より対話的な新たなコンピュータの利用法が可能になることがわかってきた。ブラウン管の速度で情報を表示することも1つの挑戦であり、その制御には集積回路以前の電子回路がそれなりの規模で必要であった。ある企業は15,000ドルでビデオ表示端末を発売する計画を発表して大量の注文を受けたが、自前の集積回路を製作するという計画であることが明らかとなり、あまりにも野心的であったために中止された。別のアプローチとして、Tektronix が開発したストレージ管という特殊なブラウン管を使う方法があった。これは、書き込んだ情報をリフレッシュすることなく保持するものである。
初期のビデオ表示端末は、CPUはなく個別の論理回路を使っている。マイクロプロセッサが開発された動機の1つは、端末に必要な電子回路を単純化し部品点数を減らすことであった。多くの端末はメインフレームに接続され、緑色か琥珀色のスクリーンのものが多かった。通常、コンピュータとの通信はシリアル通信であり、RS-232インタフェースを使うことが多い。IBMのシステムでは、同軸ケーブルで接続し、SNAプロトコルで通信するものがあった。
その後、DEC製の VT52 や VT100 などが登場した。これらは当時は「インテリジェント端末」と呼ばれ、今でもソフトウェアでエミュレートされて使われている。これらが「インテリジェント」と呼ばれたのは、エスケープシーケンスを解釈してカーソルの位置や表示の制御を行ったためである。VT100 以外で有名な端末としては IBM 3270、Wyse の様々な機種(Wyse 60 はベストセラーとなった)、Tektronix 4014 などがある。
1970年代末から1980年代初め、DEC、Wyse、Televideo、HP、IBM、Lear-Siegler、ヒース など様々な企業が端末を製造したが、これらの多くはコマンドシーケンスに互換性がなかった。
初期の IBM PC にはグリーンディスプレイが付属していたが、これは端末ではない。PCに付属するディスプレイは文字生成ハードウェアを持たず、PC内のディスプレイカードで生成されたビデオ信号を表示しているに過ぎない。それでもPC本体で端末ソフトを動作させてメインフレームと接続すれば、端末をエミュレートすることができる。このため、端末の市場はPCに圧迫されてどんどん縮小していった。今日、PC上のtelnetクライアントの多くは、最も典型的な端末である DEC VT100 のエミュレーションを提供している。
テキスト端末
テキスト端末とは、テキスト(文字列)の入力と表示を行う入出力機器である。情報は事前に選択した形状の文字の並びとして表示される。その表示にブラウン管のようなビデオ表示を使う場合、ビデオ表示端末 (VDT) と呼ぶ。
本来、テキスト端末は端末装置としてコンピュータにシリアルポートで接続されていたが、その後デスクトップ型のコンピュータではコンソールが組み込みとなり、グラフィカルなデスクトップ環境で動作する端末エミュレータが使われるようになった。グラフィカルなディスプレイがテキスト端末を一掃することはなく、コマンド行インタフェースやテキストユーザインタフェースに適した方式として生き残っている。多くのプログラミング言語は標準入出力としてテキストの入出力をサポートしている。
種類
コンソールはコンピュータを操作するのに使われるテキスト端末である。デスクトップ型のコンピュータであれば、本体に備わっているキーボードとディスプレイがコンソールの役目を果たす。LinuxやFreeBSDなどのUnix系オペレーティングシステムには、1つのコンピュータ上で複数のテキスト端末を提供する仮想コンソール機能がある。
端末エミュレータは、グラフィカルなウィンドウシステム内で動作するプログラムで、ウィンドウ上でテキスト端末を利用できる。これにより、GUIとテキスト端末は共存している。主な端末エミュレータとしては、Win32コンソールや xterm がある。Unix系オペレーティングシステムでは、擬似端末に接続される。モデムと共に使用することを前提とした特殊な端末エミュレータも存在する。例えば SSH クライアントなどもな端末エミュレータである。
テキスト端末上のアプリケーション
テキスト端末で動作するアプリケーションとしては、まずコマンドラインインタプリタあるいはシェルがある。これらはコマンドプロンプトを表示してユーザーにコマンド入力を促し、ユーザーがコマンドを入力する際には最後に Enter キーを押下する。シェルでは、そのコマンドの多くはそれぞれがアプリケーションである。
また、テキストエディタも重要なアプリケーションの種類である。ディスプレイ全体を使い、テキストを表示し、ユーザーがそれを編集できるようにしてある。ワープロソフトも元々はテキスト端末で利用可能だったが、WYSIWYG化と共にGUIが必須になっていった。
telnet や ssh は、遠隔のサービスと接続してローカルな端末から操作を可能にする。
プログラミングインタフェース
最も単純な形態では、テキスト端末はファイルのようなものである。ファイルへの書き込みが表示され、ファイルからの読み込みがユーザー入力を読み取ることになる。Unix系オペレーティングシステムでは、テキスト端末に対応したキャラクタスペシャルファイルが存在する。
他に、特殊なエスケープシーケンスや制御文字があり、プログラムから使える termios
システムコールがある。ncurses などのライブラリから使うのが最も容易である。さらに ioctl システムコールを使って端末固有の操作が可能である。
技術
アプリケーションから端末を使う最も簡単な方法は、単にテキスト文字列を逐次的に読み書きすることである。出力したテキストはスクロールしていくので、最近出力した部分(通常24行)だけが見えている。UNIXでは通常入力テキストは Enter キーが押下されるまでバッファされるので、アプリケーションが読み取るテキストは文字列として完全な形になっている。このような使い方の場合、アプリケーションが端末について詳しく知る必要はない。
多くの対話型アプリケーションでは、これでは不十分である。典型的強化としては、「コマンド行編集」(readline などのライブラリを使う)がある。また、同時にコマンド履歴にアクセスできるようにする場合もある。これらは対話型コマンドラインインタプリタでよく使われる。
さらに対話的なものとして、フルスクリーン型のアプリケーションがある。この場合は、アプリケーションが全体の表示を完全に制御する。また、キー押下にも即座に反応する(Enter キー押下までバッファリングすることはない)。テキストエディタ、ファイルマネージャ、ウェブブラウザなどがこのモードを使う。さらに、テキスト表示の際の色や輝度も制御でき、アンダーラインをつけたり、点滅させたり、罫線素片などの特殊な文字を表示させたりすることも可能である。
これらを実現するには、アプリケーションが通常のテキスト文字列だけでなく、制御文字やエスケープシーケンスを扱う必要がある。それによって、カーソルを特定の位置に移動させたり、特定位置の文字を消去したり、色を変えたり、特殊な文字を表示させたり、ファンクションキーに応答したりといったことが可能になる。
ここで問題になるのは、端末や端末エミュレータが各種存在することで、それぞれが自前のエスケープシーケンスを持っている。このため、特別なライブラリ(cursesなど)が作成され、端末データベース(Termcap や Terminfo)と共に作用して、端末の違いを吸収する役目を果たす。
ダム端末
ダム端末 (dumb terminal) という用語は、その文脈によって様々な意味で使われる。
RS-232で接続する端末についての文脈では、ダム端末とは解釈できる制御文字が(CR、LF などに)限られている端末を言う。ダム端末はエスケープシーケンスを解釈できないため、行の消去、画面の消去、カーソル位置制御といったことができない。つまり、ダム端末はテレタイプ端末と同程度のことしかできない。Unix系システムではこのようなダム端末が今でもサポートされており、環境変数 TERM を dumb と設定することでダム端末と認識する。「インテリジェント端末」は、この文脈ではダム端末でないテキスト端末を意味する。
より広い意味では、キーボードとビデオ表示装置やプリンターを備えた装置で、RS-232接続でホストシステムと通信し、ローカルにデータを処理したりプログラムを実行したりしないものを全てダム端末と呼ぶことがある。この意味では、パーソナルコンピュータも、ディスクレスワークステーションも、シンクライアントも、X端末もダム端末と言える。
また、モノクロのテキスト表示しかできない端末装置をダム端末と呼ぶこともある。さらに、キーボードから入力された文字を一文字ずつホストに送信する端末装置をダム端末と呼ぶこともある。
グラフィック端末
グラフィック端末は、テキストだけでなく画像を表示できる。グラフィック端末はさらに、ベクターモード端末とラスターモード端末に分類される。
ベクターモード端末は、ホストコンピュータの制御により、直接ブラウン管に直線などを描画する。通常の走査式のブラウン管と異なり、オシロスコープのような仕組みになっている。そのため線は連続的に描画されるが、描画された線が残っている時間と描画速度との兼ね合いで、同時に表示できる線の本数(あるいは長さの総計)は限られている。ベクターモード端末は歴史的には重要な意味を持つが、現在では使われていない。
現代のグラフィック端末は全てラスターモードであり、テレビのように走査によって画像を描画し、ピクセルが格子状に並んでいる。人間の目に画像として認識されるようにするには、高速にラスタースキャンする必要がある。このため、ラスターモードのグラフィックディスプレイは歴史的には登場が遅く、しかも当初は非常に高価だった。
今日の端末はグラフィカルなものがほとんどであり、画像を表示することができる。また、カラー表示できるものが多く、テキストも実際には画像として表示している。
その他の対話型端末の種類
タイムシェアリングシステムの出現以降、対話処理を行うための端末として、よく用いられるものの例を示す。
インテリジェント端末
大型のコンピュータに対する処理だけでなく、それ自体でテキストデータ編集や印字など各種機能を処理できる端末。フロッピーディスクは当初この種の端末に内蔵する補助記憶装置として開発された。1980年代以降はパーソナルコンピュータなどで実現可能となった。
専用端末
銀行のATM(現金自動預け払い機)、CD(現金自動支払い機)、販売店のPOS端末、レストランでウェイターが使用するハンディターミナルなども端末の一種である。
仮想端末
1台のコンピュータで複数の端末としての機能を持たせるもの。また、端末と同様の機能を実現するソフトウェア。この場合、コンピュータ本体にビデオ表示機能を組み込んであるワークステーション、パーソナルコンピュータ (PC) やPCサーバで用いられる。端末エミュレータ。
X端末
X端末を参照。
マルチメディアステーション
コンビニエンスストアにおかれている端末。MMSと略されることが多い。別名「マルチメディアキオスク」。
ビデオ表示端末
テンプレート:Main ビデオ表示端末(テンプレート:Lang-en-short, VDT)はブラウン管や液晶などのビデオディスプレイを表示に用いる端末である。もともとはテレタイプ端末のような機械式端末に対して用いられた用語である。
労働衛生管理で端末作業について言及する場合、VDTの略称が多く用いられる。
関連項目
- コンソール
- シンクライアント
- 端末エミュレータ
- 端末サーバ
- リモートジョブエントリ (RJE)
- 個別の有名な端末(規格)
外部リンク
- Text Terminal HOWTO
- Video Terminal Information by Richard S. Shuford