質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.92%

Linux 端末の歴史と違い

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 6
  • VIEW 3,992

strike1217

score 583

linuxを使っていると出てくるターミナルという物がありますよね

これに似た用語で区別がつかないのですが・・・

・ターミナル(端末)
・ターミナルエミュレーター
・擬似端末
・コンソール
・仮想コンソール
・プロンプト

参考サイト
ちょっと古すぎる話はよく分からないのですが・・・歴史が絡んでいるようです。

端末(ターミナル)= 遠隔からコンピュータを利用する専用マシーン(自分は見たことありません。)
現在よく使用されているGUI画面のLinuxのターミナルの正式名称は、ターミナルエミュレータということですよね?(黒い画面のCUIのヤツですね)

コンソールと仮想コンソールとターミナルでは、何が違うんでしょうか??
コンソールとターミナルの違い

ちょっとよく分からないですね・・・

おまけに、ターミナルエミュレータには、さらに細かく分かれるようで、ttyとptsというのがでてきまして・・・

ttyとptsの違いはなんでしょうか??
参考サイト
tty = 実端末・・・なにそれ?

以前、標準出力のデバイスファイルを辿ったところptsというものに辿りついたのですが・・・・
さらに、擬似端末について調べると、ptyという物が出てきて、マスタースレイブのペアが・・・・・・

擬似端末 =「仮想コンソール、端末装置、シリアルポートハードウェアなどを使用しないテキスト端末のインターフェイスを提供する。」
って、ターミナルエミュレータのことですよね?

わかりにくいです・・・
これらの違いは一体何でしょうか?

歴史が絡むと話が難しいです。
どなたか教えてください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 5

checkベストアンサー

+3

・ターミナル(端末)

これは物理的な専用端末機ですね。今は無きDECのVT100という端末機が典型的です。
端末エミュレータソフトがBIOSROMに焼かれた専用PCと思えば、当たらずといえども遠からず。

・ターミナルエミュレーター

これは、パソコン上で、あたかもVT100などのふりをするソフトウェアのことです。
パソコン+ターミナルエミュレーターでターミナルと同等です。

・擬似端末

これは、Unix/Linux上で、あたかも自分自身の端末のふりをするソフトウェア機構のことです。
多くのUnix/Linuxソフトウェアは、標準入力・標準出力を扱いますが、標準入力・標準出力では無く、そのプロセスに関連付いた端末を相手に入出力を行うソフトウェアがあります。
そういうソフトウェアに対して、端末のふりをしてくれるデバイスドライバです。
Unix/Linuxには、「端末プロセスグループ」という概念が有り、デーモン以外のプロセスにはかならずそれと関連付いた端末か擬似端末があります(制御端末ともいう)。

・コンソール

これは物理的なモニタ・キーボードのこと。PC・サーバーにUSBとかVGAとか、場合によってはシリアルポートで直接繋がれたモニタ・キーボードの事です。

・仮想コンソール

ネットワークでつながった他のPCで、あたかもコンソールのふりをしてくれるソフトウェアのことです。
当然、元のPC・サーバーにもそれをサポートする機構が必要です。
BIOS画面の表示とか、OSの起動などは、コンソールでしか行えませんが、ネットワーク越しにそれらを行うための物です。

・プロンプト 

これは本来的には、端末に対して入力を促す(=プロンプトする)ための文字列です。「READY」とか「OK」とか、「C:\>」とか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/24 00:17

    ターミナルは物理的な専用端末機、コンソールはキーボードやモニタ
    どちらもハードウェアなので、物理端末。

    物理端末でないものが仮想端末なので、残りものが仮想端末・・・

    あれ?間違っていますか?

    キャンセル

  • 2017/05/24 01:00

    擬似端末という言葉は普通はpty(ptsとか)を指すのではあなたの思う端末じゃ無いです。
    「あなたの思う端末」と書いたのは「端末」という言葉は文脈によって様々な意味を持つからです。
    この回答とコメントでは、「この質問で話題になっているあなたの思う端末」を一貫して「端末」と書いてきたつもりですが、違う意味の「端末」が混じってしまっているかも。

    「この質問で話題になっているあなたの思う端末」というのは、「物理モニタもしくは、GUI上のウィンドウに、文字が表示されていて、キーボード等文字入力装置を使ってと入力したその文字がそこに表示されるような、文字を表示するものと文字を入力する物の組」だという風に理解しています。

    キャンセル

  • 2017/05/24 01:14

    疑似端末は仮想端末にも物理端末にも属さないと・・・

    キャンセル

+3

追記:自分の見聞きしたことや解説なんかもみつつ回答してみましたが、考えてみるとこのあたり自分が勘違いしているような点もあるんじゃないかという気もしてきます。ご指摘などあれば突っ込んでいただけるとありがたいです。


今我々の身近にある計算機はパソコンという言い方をします。これはパーソナルコンピューターの略で「個人用コンピューター」ということです。

しかしUnix系OS(以下単にUnixといいます)はもともと個人用コンピューターで動かすものではなく、どっかの別室に計算機だけがドンとおいてあって、その横には管理者だけが操作を許されるコンソール端末(コンソールも端末の一種)が置かれてました。
一般の計算機ユーザーは計算機本体とは若干離れた場所にある端末(ディスプレーとキーボード)から計算機へログインして利用するという感じです。なんでこうなってたかというと計算機一台が個人で使うには高すぎたってことだと思います。数千万とか億のケタの計算機とかあったみたいです。今でもあるのかも知れません(スーパーコンピューターとか)。

最初のころのコンソールや端末はシリアル回線で計算機と繋がってました。現在のイーサーは1000Mbpsとかですが、シリアルは1Kbps~10Kbpsというオーダーの速度です。桁違いに遅かったわけで、1秒に数百文字とか転送するのがせいぜいなのでビットマップディスプレーなどではなく文字だけが表示されていたものだったわけです。さてコンソールや端末という用語はこれら昔のハードウェアのことを指すとまず考えるといいと思います。

今日のパソコンではディスプレー装置が10Gbpsのオーダーの通信線でつながってます。その速度があるので2000x1000とかのピクセルを毎秒100回ぐらいのリフレッシュレートでアニメーションできたりするわけです。しかし通信路はこれほど高速になりましたが、Unixでは前述したようなコンソールや端末と別の形のハードウェアは導入されず、昔ながらのコンソールや端末ハードウェアがあたかもそのまま存在するかのように扱っています。昔ハードウェアだったものは「高速な通信路・ビットマップディスプレーをそなえた計算機環境上でソフトウェアによりエミュレート」しているわけです。

という背景を踏まえて・・・

コンソールとターミナル

とりあえずパソコン上でUnixを動かすとコンソールとターミナルの違いは漠然とする気がしますが・・・

  • コンソール
    GUIなしでUnixを起動したとき、最初に立ち上がる画面をコンソールとして捉えればいいでしょう。それは昔のUnixを起動したときに計算機の横のコンソールを使って対話したときと同じ対話セッションを表すものだからで、デバイスファイルとしては/dev/consoleになるのでしょうか。しかしGUIモードで一般ユーザーとしてログインした端末上でsuとタイプして特権ユーザーとしての操作を始めることができますね。そのようなセッションで利用している際には端末エミュレーターは昔のコンソール上での操作と同様のことをしているので「コンソール上でこれこれをする」と書いてあってもそれは実は端末エミュレーター上でもできるものだということを知っていればいいのではないかと思います。(コンソールと端末を厳格に区別するより昔はこういう使い方をしていたらしいという程度の知識さえあれば特に混乱しないと思います)
  • 端末
    GUIモードで稼働している状態で一般ユーザーとしてログインしている場合、CUI操作をするために「端末(エミュレーター)」を起動すると一般ユーザーとしてログインされた状態で画面が開かれますが、それが端末と考えればいいと思います。

仮想端末

/dev/ttyとか/dev/ptsとかはデバイスファイルのことであり、前述のハードウェアの話とはまた違ってきますが単語が同じなので若干混乱するかも知れません。これらは「端末デバイスファイル」というべきものです。計算機に元々、ハードウェアとしてくっついていたような端末は/dev/ttyで管理されており、ハードとしてくっついているのではなく、リモート端末から回線を通じて接続されたようなセッションに対する端末は/dev/ptsにマッピングされていた・・・という程度の認識でよいと思います。
しかしX windowによるGUI環境で端末を起動すると/dev/ptsになってますね。これはXが端末エミュレーターの実現のために/dev/ttyではなく/dev/ptsを利用することを意味します。実際にどういう区別になっているのか自分にもきちんとわかりませんでした ><

わかりにくいです・・・ 

歴史的経緯があって古い概念や用語がずっと使われているこうしたものの場合、Unixがコンソールや端末をどのように扱っているかのバックグラウンド知識がない状態だと確かに分かりにくいと思います。自分も充分わかっているとは言えませんが、あちこちの解説を読むことによりある程度は見えてくると思います。

これらの違いを正確に把握するにはかなり広範囲な歴史やUnixとしての振る舞いの知識が前提になる気がするので、実際に区別する必要が生じたとき、あるいは特定の解説記事を読んでいて「これはどっちのことを指すんだろう」と疑問に思ったときに、あらためて具体的な質問をしたほうが分かりやすくなるかも知れません。一挙に理解しようとせずにだんだんと知るようにするのもよいと思えるのです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/15 14:13

    tty →直接つなげた端末
    pts→遠隔でつなげた端末 だったという区別ですね

    キャンセル

  • 2017/05/15 14:15

    /dev/consoleというデバイスファイルも存在するんですね。
    初めて知りました。

    キャンセル

0

とりあえず分かるだけ
・ターミナル(端末)・・・シリアル(イーサネット?)などでつながったCUI表示装置(VT-100など)
・ターミナルエミュレーター・・・Windowsの有名どころでは、Tera Term,rlogin
・コンソール・・・直付け端末(いわゆるTEXTモードで立ち上がるときに最初に情報が表示され、"login:"を表示する。・・・)
・プロンプト ・・・shellが出す入力促進表示(#、$、>など)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/15 14:17

    ターミナルエミュレータ ・・・ windowsでいうコマンドプロンプトですよね
    あのcmdと入力すると出てくる黒い画面のヤツ

    キャンセル

0

ひとつずつ回答しようかと思いましたが、似たようなことをまとめているサイトがあったのでリンクで割愛。
http://qiita.com/tadsan/items/441dcd910537d3f408e5

TTY端末で開発してた時代が懐かしい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/15 18:25

    それと、疑似端末とターミナルエミュレータでは、何が違うんでしょうか?

    キャンセル

  • 2017/05/16 08:53

    >仮想コンソールとは、「昔あったコンソールをソフトウェアで実現したもの」という事なのでしょうか??
    そういう認識でよいと思います。
    >疑似端末とターミナルエミュレータでは、何が違うんでしょうか?
    意味合い的には同じかなと思います。

    キャンセル

  • 2017/05/16 14:19

    そうですか!
    分かりました。

    キャンセル

0

まず、コンピュータを個人で所有するなんて夢だった時代、大型電算機(それこそ部屋全体を占拠するような)に対してやり取りを行うために端末(ビデオターミナル)が作られました。キーボードとディスプレイを備え、場合によってはプリンタも拡張できる、当時としては画期的な代物です。(何せそれまでは穿孔テープやらタイプライターのお化けのようなプリンタやらを使ってましたから)
これが使いやすいため、以後のコンピュータでもこれが標準になりました。それは端末そのものが使われなくなった今でも同様で、端末をソフト的にエミュレートしてやりとりができるようになっています。これが端末エミュレータ(有名どころでは TeraTerm や PuTTY)です。また、この端末の事実上の標準が、DEC という会社が売っていた VT100 という端末です。端末エミュレータは事実上 VT100 エミュレータでもあります。

さて、端末は当初はコンピュータと直接ケーブルでつながっていました。この「直接つながっている端末」のことを、その置かれている場所も含めて「コンソール」と呼びます。
これに対して、コンピュータが進歩すると、電話回線やそれに類するものを使って、遠隔地からコンピュータを使うといった使い方が登場します。その場合でも遠隔地には端末があるわけですが、この「直接はつながっていない端末」のことを、「ターミナル」と呼ぶようになりました。
※LANに参加している端末からアクセスする場合も「ターミナル」です
Linux の GUI 環境は同じマシン上である場合、127.0.0.1 に対する LAN アクセスという形態をとるため、ターミナルとなります。※当然 LAN で別のマシンからでも X Window System を使って GUI アクセスできますが

現在我々が使う端末エミュレータは、ほぼ自動的に「ターミナル」です。
※ネットワーク機器(スイッチ)の保守用にシリアル接続でつなげるくらいですね、コンソールは

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/15 21:21

    ターミナル->遠隔
    コンソール->直接つなぐ

    感じですね

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る