吉田茂生
とはいえ、巨大なシステムというのは、世の中に昔からたくさんある。 この日本の、あるいは世界の社会システム全体はそういうものだし、 本セミナーのテーマである海全体もそういうものである。 そういうシステムに比べれば、計算機システムは人間が作ったものなので、 振る舞いが予測可能という意味では格段に御しやすい。
こういった巨大なシステムを理解するやり方はどうすればよいだろうか? われわれは社会システムをどう理解するかというと、それは2面的に なされるのが普通である。われわれは、生まれ育って行く過程で、 訳も分からず社会システムの中に投げ出される。しかる後に、 学校で社会というものはこういうものだと学習する。大人になっても、 社会経験を積みつつ、書物などを読みつつ、日本とは、あるいは 世界とはこういうものだということを学ぶ。 計算機もそのように理解するのがたぶん良い。とりあえず 訳も分からず、メールを書かされ、html 文書を書かされて、 そのうちおもむろにもう少し系統的なシステムを学び、 経験と理窟の両輪で行くのが良い。
そういうわけで、今日は、お勉強の部分のさわりをやる。 私も専門家ではないから、さわりしかできないのも確かである。
計算機の種類 | 大型計算機(メインフレーム、スパコン) | ワークステーション | パソコン |
---|---|---|---|
OS | 昔はメインフレーム用の OS、今は UNIX | UNIX | Windows, Mac OS, 最近は PC UNIX (Linux, FreeBSD など)も |
数値計算能力 | 高い | やや高い | それほど高くない |
値段 | 非常に高い | やや高い(100 万円から数 100 万円) | それほど高くない(10 万から数 10 万円) |
皆さんの目の前にあるのは、(たぶん)ワークステーションレベルのものである。 もっとも、ネットワークで繋がって構成されているものなので、 私はそれがどういうふうに実現されているか良く知らないから、 パソコンレベルかもしれない。
最近はパソコンの性能が上がってきて、ワークステーションと変らなく なりつつあるから、ワークステーションは衰退しつつある。また、 わざわざ大型計算機を使わなくても、パソコンで済む計算も 多くなってきたから、大型計算機も衰退してきている。 今大型計算機を使うのは、かなりヘビーな計算をする人たちである。
計算機の中身を知るには、この字が並んでいる「端末」を利用する必要がある。 ネットスケープのようなものは、単なる1プログラムだが、「端末」は 計算機の中身を覗き見る窓である。
まず、そこには
k127b@sv010%のような文字が見えているだろう。それは、プロンプトと呼ばれる。 それは、計算機が命令を打ち込んでくださいと言っている印である。
先へ進む前に、ノイマン型計算機という概念を理解しておこう (NEC エレクトロンデバイス, マイコン入門)。 ノイマン型計算機というのは、プログラムとデータのどちらもが メモリに始めに入力されていて、CPU がプログラムを順次読みつつ、 それにしたがって計算をし、必要に応じてデータを読み書きする、 という感じで動作が進んで行くものだ(久野, 1992, p.693)。 メモリというのは、計算に必要な情報を電子的に溜めておくところだ。
計算機には、メモリ以外に、ハードディスクという記憶装置がある。 メモリは、CPU が直接使うもので、高速だが容量が小さく、電源を 切ると消えてしまう(消えないのもあるが)。一方、ハードディスクは 低速だが容量が大きくて、電源を切っても中身が消えない。 そこで、データやプログラムは、普段はハードディスクに入れておいて、 必要なときにだけメモリに読み込んで使うという方法が取られる。
さて、そういうわけで、計算機を動かすには、データとプログラムを ハードディスクの上に持っておかないといけなくて、そういうものを ファイルという。さて、計算機のアカウントをもらうと、 各自のファイルの置き場が割り当てられている。まずは その中身を眺めてみよう。
% ls(ls は list の略) とやってみると、たとえば
k127b@sv006% ls Drafts Templetes Windows httpd-conf public_html Mail Trash axhome ns_imap Sent WinNetscape f90 nsmailというふうになる。これはあなたが今持っているファイルのたちである。
次に
% ls -Fとしてみよう。すると
k127b@sv006% ls -F Drafts Templetes Windows/ httpd-conf/ public_html/ Mail/ Trash axhome/ ns_imap/ Sent WinNetscape/ f90/ nsmail/のようになる。このスラッシュマークは何だろうか?ファイル置き場は ファイルをどんどん投げ込んで行くと整理がつかなくなるので、 ツリー状の構造を持たせてある。つまり、袋があって、その袋の中に また袋があるという感じになっている。その袋のことを ディレクトリと呼ぶ。Windows や Mac OS の世界では フォルダという。スラッシュが付いているものはディレクトリである。
たとえばディレクトリ nsmail の中身を見るには、まず
% cd nsmail(cd は change directory の略) とやってみるとよい。これは その袋の中に入ってみるという命令である。そこで改めて
% ls -Fとしてみるとたとえば
k127b@sv006% ls Drafts Sent Trash Inbox Templates Unsent Messagesといったファイルがあることがわかる。
今度元のディレクトリ(包んでいる方の袋)に戻るには、
% cd ..とする。そうすると元へ戻っている。
k127b@sv006% ls -F Drafts Templetes Windows/ httpd-conf/ public_html/ Mail/ Trash axhome/ ns_imap/ Sent WinNetscape/ f90/ nsmail/
次に、もう一度
% cd ..として、
% lsとしてみる。すると、たくさんの人のユーザ名が見える。それぞれのユーザーの ファイル置き場は、実はディレクトリの一つである。それをそのユーザーの ホームディレクトリと呼ぶ。単に
% cdとすると、自分のホームディレクトリに戻ることができる。
自分がどこのディレクトリにいるかを知るには
% pwd(pwd は present working directory の略) とする。
% k127b@sv006% pwd /mdhome/homet/k127b全体の中で自分がいるところがそういうところであることがわかる。
ファイルの中身を見るには
% more Trashのようにすれば良い。
以前に配った「情報メディアセンター講習会テキスト」第3章参照
配布したコピーには C でプログラムが書いてあるが、それを Fortran90 で 書き直したものが f01.f90 である。 まず、これを適当なところに保存せよ(自分のホームディレクトリの中の 適当なところにこのファイルを作る)。
実行の仕方は、まず、sv010 というマシンにログイン。
% rlogin sv010その後
% unsetenv LANGとして
% f90 f01.f90でコンパイルを行い、
% ./a.outで実行する。
少し詳しくは ここ も参照。
% ^C
% ps
% kill
詳しくは 情報メディアセンターの FAQ も参照。