とらりもんHOME  Index  Search  Changes  Login

UNIXとは / CUIとGUI / なぜUNIXなのか?

ITを勉強するときの基本

わからない言葉に出会ったら・・・アスキーデジタル用語辞典Linux用語事典などで検索!

UNIXとは?

UNIXは、計算機の基本システム(OS)の一種である。

パソコンのOSとしては、Microsoft社のWindowsが有名だが、大形計算機やネットワークサーバーのOSとしては、UNIXが圧倒的に多い。また、科学計算用の様々なシミュレーションプログラムはUNIXを前堤に作られていることが多い。

UNIXにはいろんな種類がある。Apple社のMacintoshというパソコンの標準OSである"Mac OS X"も、現在はUNIXをベースにしている。以前は、UNIXは高級な計算機でないと使えなかったが、1990年代に、ふつうのパソコンで無料で使えるUNIXが開発され普及した。その代表がLinux(リナックス)である。Linuxは、雑誌の付録CDやインターネットで入手できる。

Linuxは、現在、最も勢いのあるUNIXであると言えるだろう。Linuxは、世界中のボランティアが協力して開発を続けており、しくみ(ソースコード)は全て公開されており、GPLという規約の元で、誰でも自由に改変・再配布できる(そのようなソフトをオープンソース・ソフトという)。そのため携帯端末(携帯電話)などにも急速に普及しつつある。その中でも特記すべきは, Google社が開発している, Androidというスマートフォン用のOSである。AndroidはLinuxをベースとしたOSである。

Windowsの上でもUNIXの便利な機能や環境を使いたいという需要は高い。それを満たすソフトが、オープンソースのCygwinである。Cygwinは、UNIX(に近い機能)をWindowsの上に載せたものである。また、Microsoft社自身も、Windows Services for UNIX (SFU)という、Windowsの上で走るUNIXを開発・販売している。

  • 参考になるサイト: Cygwin / Windowsと合わせて使いたいとき: Cygwin

このコースでは、Linuxの使用を前提とするが、Cygwinでもほとんどの内容は再現できるだろう。

CUIとGUI

一般的に、計算機を人間が直接操作するとき、そのやりかたには2種類ある:ひとつはCUI, もうひとつはGUIである。

CUI (コマンド・ユーザーインターフェース)では、コマンド(命令)をキーボードから打ち込むことで操作する。

それに対して、GUI (グラフィカル・ユーザーインターフェース)では、グラフィックな画面をマウスでぐりぐりして操作する。

CUIはGUIにくらべて、とっつきにくいが、そのかわり自由度が高い。そのため、複雑な操作をシンプルに表現でき、しかも自動化しやすい。そのため、サーバーや大規模計算機などでは、CUIがよく使われている。CUIを使いこなすには、いくつかのコマンドを習得する必要がある。

おおざっぱに言って、WindowsやMacintoshは、GUIがメインであり、UNIXではCUIがメインである。そのことと、CUIのとっつきにくさから、世間では「UNIXは難しい」と思われている面がある。しかし、UNIXにもGUIはあり、WindowsやMacintoshにも CUIはある。CUIとGUIのそれぞれを、状況に応じてうまく使い分けることが重要である。

CUI.png

↑ UNIX (Linux) のCUI

GUI.jpg

↑ UNIX (Linux) のGUI

なぜUNIXなのか?

奈佐原顕郎

前述のように、UNIXはCUIが基本なので、UNIXの習得は、WindowsなどのGUIを基本とするOSにくらべてあまり簡単ではない。入門書も、UNIXよりWindows向けが圧倒的に多い。一般向けのサービス(アプリケーションソフトや周辺機器など)も、多くはWindows向けである。それなのに、なぜ我々はUNIXを学ぶのだろうか? 学生さんの中には、私に対して、「おまえの趣味を押しつけるな」と思う人もいるだろう。

その答えは、いずれ皆さんにも明らかになるだろう。しかしそれでは今は満足してもらえないので、かわりに、私の体験を言わせて頂きたい。

私はUNIXが大嫌いだった。

1991年、大学の工学部4年生だった私は、レポート作りなどに自宅のMacintoshを使っていた(当時のMacintoshは、今と違ってUNIXとは全く別のOSだった)。Macintoshの優れたGUIは、当時から既に全ての操作が直感的で簡単だった。

ところが学科の計算機は全てUNIXだった。実習ではそれらを強制的に使わされた。教官から「ここの学生ならUNIXを使えて当り前だ」「UNIXを覚えとけば、将来もずっと役に立つのだ」とまで言われた。非常に反発心を感じた。「こんな面倒なUNIXなんてシステムは、Macintoshに駆逐されて数年間で滅びるに違いない」と思った。しかし、さすがに学科の計算機は強力なので、卒論のためにUNIXをちょっとは勉強した。友人達は、UNIXをほとんど知らない私を、からかいながら、いろいろ教えて助けてくれた。

その後、私は工学部を離れ、地球物理や林学、生態学などに首をつっこんだ末に、あの教官が正しかったことを知った。UNIXは滅びるどころか、オープンソースを味方にして、さらにインターネットの普及によって、ますます隆盛である。インターネットの根幹は、過去も現在もUNIXが支えている。たとえばGoogleの検索システムは、Linuxの並列システムである。何よりも驚いたのは、あのMacintoshがUNIXをベースにしたシステムに生まれ変わってしまったことである(だから、現在のコアなMacユーザーの多くはUNIXを学びたいという)。Microsoftも、UNIXとの相互運用性を確保するために、Windowsで動くUNIXを開発して提供している。

研究面でも、大規模なシミュレーションだけでなく、小規模なモデル解析やデータ解析においても、一見とっつきにくいUNIXのシェルが、極めて強力に働くことを私は学んだ。データ解析では、一見すればExcelのような表計算ソフトが便利だが、出力されるグラフの品質のみならず、処理の拡張性、汎用性、リソース(メモリやハードディスクなど)の有効利用などの点では、UNIXのシェルのほうが優れていると気づいた。

UNIXは、1970年代に出現した。ITの歴史の中では、大昔である。当時はWindowsもMacintoshも、影も形も無かった。ところが当時から現在までUNIXの根本的な思想はほとんど変わっていない。10年前や20年前のUNIXの知識の大部分は、ほとんどそのまま現在も有用である。もちろん、UNIXにも新しい技術はどんどん加わっている。しかし、その根本思想は不変であり、その有用性はますます明白になっている。

私にUNIXを押しつけてくれた教育に、今、私は感謝している。今はLinuxのおかげでUNIX環境を構築するのは容易になったが、あの当時、学生のためにUNIXのワークステーションを運用するのは、経済的にも労力的にも大変だったはずだ。そのおかげで(15年間もかかったが)私はUNIXの有用性に気づくことができ、オープンソースという魅力的な活動から恩恵を受けることもできた。

自分が教える立場になった今、学生さんには、何年たっても色褪せない、それどころか年を経るごとにますます輝くような知識や技能を教えたいと思う。もちろん、UNIXが今後もそのようなものであるとは限らない。将来のことは誰にもわからないから、自分の判断に賭けるしかない。私は、「UNIXは20年後も世界のITの中枢に存在するだろう」と思っている。

Unix/Linux入門へ戻る>

Last modified:2015/11/08 11:28:06
Keyword(s):
References:[Unix/Linux入門]