コンソール (英 : console )とは制御卓、制御盤、操作卓などの意味を持つ英単語で、大型機械や電子機器などの操作や監視のための装置を一か所に集めた盤状あるいは卓状の装置のことだが、派生的な意味として、コンピュータ の入出力装置 や、文字の入出力 による対話的な操作システム、オペレーティングシステム (OS)を操作・制御する画面などを表す[ 1] 。
大型コンピュータにおけるコンソール
IBM 1620 のコンソール。キーボードもディスプレイも存在しない。接続されているのはキーボードではなく、プリンタの代わりであるコンソールタイプライタである。
狭義のコンソールとは、パーソナルコンピュータ (パソコン、PC)が登場する以前の、大型のコンピュータ(汎用機あるいはメインフレーム )やミニコンピュータ (ミニコン)に設けられた、運用(運転)の制御をするための装置を指す。コンピュータをオペレーター が操作するために必要な入出力装置を備えた制御盤である。
システムコンソール
Manchester Small-Scale Experimental Machine (1948年 )やIBM 1620 (1959年 )と言った最初期のコンソールの時代は英数字の入出力が可能なキーボード やディスプレイ が存在せず、フラットパネルに並んだトグルスイッチや電球 のオン・オフからシステムの状態を読み取るしかなかったが、1960年代 以降はキーボードとディスプレイを最初から備えているか、コンソール本体に搭載していなくてもシリアルポート を使ってキーボードとディスプレイを備えた端末 を接続して使うのが一般化した。このようにテキスト による入出力が可能で、英数字 の表示可能なディスプレイが搭載されてシステムのことを表示できるコンソールのことをシステムコンソール と呼ぶ。
システムコンソールとして当時に一般的に用いられたのは、CUI/CLI を利用して対話的にコマンド を実行するためのキーボードとビデオディスプレイを備えた操作卓であり、GUI は存在しなかった。そのためGUIの普及した現代においても、コンソールの機能をエミュレートする場合は普通CUIのシステムコンソールがエミュレートされる。
シリアルコンソール
シリアルコンソールの例。DEC のビデオ表示端末VT100
ミニコンやサーバ 等、キーボードやディスプレイを接続せずに運用する機器においては、シリアルポートを通じて接続された別の機器(ビデオ表示端末 )がシステムコンソールとして利用される。これをシリアルコンソール と呼ぶ。DECのVT100 (1978年 )が代表的なシリアルコンソールで、1970年代 から1980年代 にかけて大いに普及したが、パーソナルコンピュータの普及以後はシステム標準ソフトウェアの一つとしてエミュレートにより実現されることが多い。
パーソナルコンピュータにおけるコンソール
IBMホスト・システムへアクセスする端末エミュレータ
パソコンにおけるコンソールの例。Knoppix のシステムコンソール
パーソナルコンピュータにおいては非常に小さなコンピュータシステムが事実上コンソールと一体化しているといって良く、これらがシステムの一部分として区別されることはほとんどない。その一方で、ソフトウェア を用いてシステム上に何らかのコンソールの機能を再現することが可能である。典型的にはCUIをサポートする端末エミュレータ が挙げられるが、本来コンソールの提供する機能はCUIやGUIには限らないことに注意が必要である。
端末エミュレータ
シリアルコンソールとして利用されるビデオ表示端末の機能を、OS上のソフトウェアとしてエミュレートしたものを端末エミュレータまたは単にコンソールと呼ぶ。1970年代から1980年代にかけての代表的なビデオ表示端末であるDEC VT100の機能をエミュレートしたものが多い。
仮想コンソール
Unix系 OSでは複数のコンソール(端末エミュレータ)をキーボードで切り替えることで仮想的に同時に走らせることができ、同時に複数の処理を行うことができる。これを仮想コンソール と呼ぶ。一般的なUnix系OSではデフォルトで6つの仮想コンソールを持つことができる。
システムコンソール
単にPCを起動したときに自分のPCのシステムの情報などを表示してくれている画面をシステムコンソールと呼んでいる。GUIを搭載したOSでも起動直後だけはCUIでシステムの情報を表示してくれる場合が多い。 [要出典 ]
ビデオゲームにおけるコンソール
ビデオゲームコンソールの例、任天堂が発売したゲーム機『Wii 』。バーチャルコンソール と呼ばれる旧機種の仮想コンソールを走らせることもできる。
ビデオゲーム用のコンピュータの制御卓はビデオゲームコンソール(日本語ではゲーム機 )と呼ばれる。一般的にゲーム用のコントローラーではなくコンピュータシステム本体を指すことが多い。
CUIコンソール
いくつかのゲーム [要出典 ] ではゲーム中にコマンドライン風の画面を呼び出すことができる。チート コードを入力したりするのに使われる。
互換機能と互換機
ゲーム機上でエミュレーションによって他のコンソール(ゲーム機)用のゲームをプレイできるように何らかの互換機能やサービスが提供されている場合がある。主に旧世代機のゲームをプレイできるようにするために提供されるが、メディアの読み込みなどに旧世代機との部分的な後方互換性があり、ハードウェア レベルでのエミュレーションとなっているものもあれば、ハードウェア互換性が一切なく完全にソフトウェアベースのエミュレーションで実装されることもある。CPU やGPU などシステムアーキテクチャ が大きく異なるコンソールのエミュレートには十分に余裕を持ったハードウェア性能が必要とされるため、たとえハードウェア性能の劣る旧世代機であってもエミュレートできないこともある。また、映像が乱れたり正常に動作しなかったりといった不具合が発生することもある。
例えばニンテンドーDS では一部のゲームボーイアドバンス のゲームカセット(ROMカートリッジ )をそのまま使用してゲームをプレイすることができる。PlayStation 2 やPlayStation 3 では多くの初代PlayStation 用のゲームディスク(CD )をそのまま使用してゲームをプレイすることができる[ 注釈 1] 。Xbox Series X/S では初代Xbox ・Xbox 360 ・Xbox One のゲームをプレイすることができる[ 4] 。ただし、Xbox 360以前とXbox One以降ではシステムアーキテクチャが大きく異なり、完全なエミュレーションは提供されていないため、オリジナルのゲームプログラムをそのまま走らせるのではなく、エミュレータ専用にコンバートされたゲームプログラムを走らせる形となっている[ 5] 。Wii 、ニンテンドー3DS 、Wii U 向けには、ファミリーコンピュータ やスーパーファミコン などのゲームをダウンロード購入してプレイできるバーチャルコンソール と呼ばれるサービスが展開されていたが、過去のコンソールにおけるオリジナルのゲームプログラムと完全に同じバイナリ ではなく移植版である。
そのほか、生産が終了して入手しづらくなってしまったレトロハードウェアの代替として、サードパーティによる互換機が発売されているものもあるが、ほとんどはソフトウェアベースのエミュレーションによって実現されており、純正機とチップレベルの完全な互換性があるわけではないため、再現性はエミュレーションの精度に依存する。
CUIコンソールの必要性
PCやワークステーション 向けのデスクトップOS[ 注釈 2] では、特にMicrosoft Windows 95 やMicrosoft Windows NT などの登場以降、GUI環境が普及しているが、そのような環境においても仮想的なCUIコンソールを備えている場合がほとんどである。実装の方法は各OSによって異なるが、典型的にはアプリケーションソフトウェア (アプリケーション)のひとつとして、実画面上にウィンドウ表示または全画面表示される仮想CUI画面と実機のキーボードの組み合わせとして表現されている。
GUI環境でも採用される理由としては、
コマンドラインインタプリタ 上で動作するシェルスクリプト によってOSの持つコマンドを対話的に実行したり、各種スクリプト言語 (動的言語 )を使って手軽にプログラムを実行したりできる
CUIコンソール上で動作するCUIアプリケーション(コンソールアプリケーション )は、GUIアプリケーションに比べて作成・メンテナンス・移植しやすく、処理が高速で消費メモリが小さい
あるプログラムの実行結果(出力)を別のプログラムへの入力とするなど、組み合わせによる複雑な処理のパイプライン化や自動化が容易
過去のコード資産を活用できる
などが挙げられる(上記はもちろん通常のCUI環境でもあてはまる)。
ライブラリ のようなソフトウェア部品は、画面表示(ビュー層)を必要としないモデル層やロジックのみから構成されるものも多く、そのようなライブラリの機能を単体テストする場合は、自動化の観点からもコンソールアプリケーションのほうが有利である。
デスクトップOSではほとんどがCUIコンソールを備えているので、利用は簡単である。例えばWindows NT系 の場合、「コマンド プロンプト」(cmd.exe )が用意されている。「ファイル名を指定して実行」から、もしくは「アクセサリ」または「Windows システム ツール」から起動できる(具体的な手順はOSバージョンによって異なる)。Mac OS X(OS X、macOS )以前のClassic Mac OS ではGUIによる直感的な操作性を重視しており、ライトユーザーにとって分かりにくいCUIコンソールは持たなかった。UNIX ベースで再設計されたMac OS X以降では「ターミナル」が用意されている。
一方、Linux から派生したAndroid や、Darwin から派生したiOS のように、モバイルOS ではたとえUnix系であってもCUIコンソールを持たないものもある。これは、モバイル機器の入力インターフェイスが複雑なオペレーションには適していないことのほか、システムへの変更を簡単に加えることができないようにするというセキュリティ的な理由もある。
CUIのコンソールが用いられる代表的なOS
脚注
注釈
^ PS3初期型ではPS2のゲームをプレイすることもできたが、のちの生産モデルではPS2の互換機能については削除された[ 2] [ 3] 。
^ Microsoft Windows やmacOS は、デスクトップPC版とノートPC版とで基本的なアーキテクチャに差はなく、搭載ハードウェアを問わずデスクトップOSと総称される。
出典
関連項目