コンソール
コンソール(Console)とはコンピュータの制御卓である。そのほかいくつかの派生的な意味で使われている。
目次
大型コンピュータにおけるコンソール
狭義のコンソールとは、パーソナルコンピュータが登場する以前の、大型のコンピュータ(汎用機あるいはメインフレーム)やミニコンピュータに設けられた、運用(運転)の制御をするための装置を指す。コンピュータをオペレーターが操作するために必要な入出力装置を備えた制御盤である。
システムコンソール
Manchester Small-Scale Experimental Machine(1948年)やIBM 1620(1959年)と言った最初期のコンソールの時代は英数字の入出力が可能なキーボードやディスプレイが存在せず、フラットパネルに並んだトグルスイッチや電球のオン・オフからシステムの状態を読み取るしかなかったが、1960年代以降はキーボードとディスプレイを最初から備えているか、コンソール本体に搭載していなくてもシリアルポートを使ってキーボードとディスプレイを備えた端末を接続して使うのが一般化した。このようにテキストによる入出力が可能で、英数字の表示可能なディスプレイが搭載されてシステムのことを表示できるコンソールのことをシステムコンソールと呼ぶ。
システムコンソールとして当時に一般的に用いられたのは、CUIを利用して対話的にコマンドを実行するためのキーボードとビデオディスプレイを備えた操作卓でり、GUIは存在しなかった。そのためGUIの普及した現代においても、コンソールの機能をエミュレートする場合は普通CUIのシステムコンソールがエミュレートされる。
シリアルコンソール
ミニコンやサーバ等、キーボードやディスプレイを接続せずに運用する機器においては、シリアルポートを通じて接続された別の機器(ビデオ表示端末)がシステムコンソールとして利用される。これをシリアルコンソールと呼ぶ。DECのVT100(1978年)が代表的なシリアルコンソールで、1970年代から1980年代にかけて大いに普及したが、パソコンの普及以後はパソコンでエミュレートすることが多い。
パーソナルコンピュータにおけるコンソール
パーソナルコンピュータにおいては非常に小さなコンピュータシステムが事実上コンソールと一体化しているといって良く、これらがシステムの一部分として区別されることは殆ど無い。その一方で、ソフトウェアを用いてシステム上に何らかのコンソールの機能を再現することが可能である。典型的には CUIをサポートする端末エミュレータが挙げられるが、本来コンソールの提供する機能はCUIやGUIには限らないことに注意が必要である。
端末エミュレータ
シリアルコンソールとして利用されるビデオ表示端末の機能を、OS上のソフトウェアとしてエミュレートしたものを端末エミュレータまたは単にコンソールと呼ぶ。1970年代から1980年代にかけての代表的なビデオ表示端末であるDEC VT100の機能をエミュレートしたものが多い。
仮想コンソール
Unix系OSでは複数のコンソールをキーボードで切り替えることで仮想的に同時に走らせることが出来、同時に複数の処理を行うことが出来る。これを仮想コンソールと呼ぶ。一般的なUnix系OSではデフォルトで6つの仮想コンソールを持つことが出来る。
システムコンソール
単にパソコンを起動したときに自分のパソコンのシステムの情報などを表示してくれている画面をシステムコンソールと呼んでいる。GUIを搭載したOSでも起動直後だけはCUIでシステムの情報を表示してくれる場合が多い。
CUIコンソールの必要性
現在GUI環境が普及しているが、そのような環境においても仮想的なCUIコンソールを備えている場合がほとんどである。実装の方法は各OSによって異なるが、典型的には実画面上にウィンドウ表示または全画面表示される仮想CUI画面と実機のキーボードの組合せとして表現されている。
GUI環境でも採用される理由としては
- アプリケーションがGUIに比べて作成しやすい
- GUIアプリケーションに比べて、比較的処理が高速
- プログラムの実行結果を組み合わせた複雑な処理が容易
- 過去の資産を活用できる
などが挙げられる。(上記はもちろん通常のCUI環境でもあてはまる。)
パーソナルコンピュータ用のOSではほとんどが備えているので、利用は簡単である。例えばWindowsなら"ファイル名の実行"から、もしくは"プログラム"からである。Mac OS X以前のMac OSは初心者がとっつきにくいことから、CUIコンソールを持たなかった。Unix系であるMac OS Xでは利用することができる。
CUIのコンソールが用いられる代表的なOS
関連項目
fr:Terminal informatique#Console
ru:Консоль#Программное обеспечение