共通科目情報処理(講義)、国際総合学類対象、1997年01月08日 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/kokusai-kougi-1996/1997-01-08
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo
http://www.ipe.tsukuba.ac.jp
計算機(コンピュータ)には、2種類の記憶するためのハードウェアが使われて います。
ファイルとは、
ディレクトリとは、ファイルに名前をつけるための仕組みで、ファイル名の一 覧表を含んでいるもの。普通、ファイル名の一覧の中に、別のディレクトリの 名前を含めることができる。全体として、ファイルは、木構造で整理される。
オペレーティング・システムのうち、ファイルとディレクトリを実現している 部分をファイル・システムと呼びます。
計算機(コンピュータ)で ファイル (file)とは、情報を保存しておくためにソ フトウェア的に作られた箱のことです。計算機で扱える情報は、2進数で表現 されているのですが、それらを保存するために、様々な記憶媒体(ハードウェ ア)に保存されます。記憶媒体としては、ハードディスク、CD-ROM、光磁気ディ スクがあります。それらの記憶媒体は、日常的に扱う情報を保存するためには 大きすぎますし、扱い型がそれぞれのメディアごとに違っていては困ります。 このような問題を解決するための仕掛がファイルです。ファイルは、ソフトウェ アの働きで、大きな記憶媒体を扱いやすい大きさで、かつ、記憶媒体が変わっ ても同じように扱えるようにしたものです。
ファイルには、情報を保存する役割に加えてもう1つ大事な機能があります。 それは、「情報に名前を付ける」という機能です。この機能は、あた りまえすぎてすぐに有難みがわかないかもしれません。しかし、もし全ての自 分の情報をフロッピ・ディスク1枚1枚に入れてフロッピのラベルに書かれた 情報の名前を自分で読んで操作しなければならないことを想像すれば、情報の 名前を計算機が管理してくれる有難みを実感できるかと思います。
ファイルに名前を付ける働きを持っているソフトウェア的な仕掛けは、ディレ クトリ(directory)と呼ばれています。ディレクトリは、フォルダ(folder) と呼ばれることもあります。計算機の中では、ディレクトリは、ファイルの名 前を保存している特殊なファイルとして扱われています。木構造(tree structure) というのは、計算機科学(コンピュータ・サイエンス)の専門用語 です。
木構造は、計算機の外にも至る所に現われます。身の回りの例としては、住所、 会社組織、生物の分類、図書の分類が木構造になっています。木構造は、 階層構造(hierarchical structure)ともいいます。 ドイツ語では、ヒエラルヒー(Hierarchie)。
木構造の例を、大学の組織を使って説明します。図1-1を見て下さい。木構造 は、節と枝からできています。特別な節として、根(root)が1個 あります。木構造の特徴は、ある節から別の節までの道が1本しかないことで す。これは、本物の木の枝が決して交わらないのと似ています。(道が2本以 上あるようなものは、グラフといいます。) つながっている節と節で、根に 近いものを親、そうでないものを子といいます。
図1-1では、筑波大学と書いてある所が木の根にあたります。根からは、何本 かの学群の枝が出ています。このように、計算機科学では、木の根を上に書く 習慣があります。第二学群の節には、日本語日本文化学類、生物学類などの 子の節があります。第二学群の親は、筑波大学です。
たとえば「国際総合学類」の場合、次のように書きます。
筑波大学第三学群国際総合学類
mnewsでは、ネットワーク・ニュースのニュース・グループも、これと同じよ うな形に見えます。これを次のように「.」で区切って並べていきます。
筑波大学.第三学群.国際総合学類
住所の表記も、木構造です。
日本国.茨城県.つくば市.天王台
図1-1に示されている木構造は、また図1-2のように、領域を分割するような見 方もできます。ここで、木構造の場合には、領域の境界線が交わることがあり ません。Windows の画面や、Macintosh の Finder の表示は、この領域の分 割に似ています。
コンピュータでは、次のような場所で木構造が使われています。
コンピュータ以外では、次のような場所で木構造が使われています。
ディレクトリは、全体では
木構造(tree structure)
になっています。階層化ディレクトリ(hierarchical directory)ということ
もあります。
図1-3 ファイルとディレクトリの木
/
」で表します。
UNIXでは、ファイルの名前をパス名で表わします。
ファイルの木構造のなかで、ファイルの実体を指定するために、 UNIXでは、
パス名 (path name)を使います。 パス (path)というのは、道のことです。図
のように、UNIXでは、木構造の枝(道)に名前がついています。ファイル名は
/
で区切られた枝の名前の並びになっています。
例:
/home6/s991001
/usr/local/bin/mnews
パス名には、 絶対パス名 ( absolute path name )と 相対パス名 ( relative path name )の2種類のがあります。絶対パス名というのは、ディレクトリの木 の根(ルート・ディレクトリ)から出発する経路を表す名前です。たとえば、次 のパス名 /usr/bin/awkは、ルート・ディレクトリから出発して、usrという枝 へ進み、次に、binという枝に進み、最後に (awk)という枝に進み、そこにあ るファイルの実体を参照する、という意味です。
相対パス名というのは、現在いる枝、つまりカレント・ワーキング・ディレク トリから出発する経路を表す名前です。たとえば、カレント・ワーキング・ディ レクトリが /usrの時、相対パス名 bin/awkは、カレント・ワーキング・ディ レクトリから出発して、binという枝に進み、次に awkとう枝に進み、そこに あるファイルを参照する、という意味です。
たとえば、新城のホーム・ディレクトリは、/home1/yshinjo/
です。
これは、次のような意味です。
/
)から出発する。
home1
という名前の節に進む。
yshinjo
という名前の節に進む。
非常に多くの情報を格納するには、木構造を使うしかない。 しかし、、、
大きさ、細分化の問題。時間的に古くなる。環境変化についていけない。
中間管理職の意味==横方向に情報が流れない。
裏チャネル、同期会。
木構造は、ファイルを整理するのに非常に強力な構造です。しかし、それだけ では、ファイルを整理するには不都合が起きます。それを解消するための仕組 みが、用意されています。
ハイパーテキスト(hypertext)とは、内部に他のテキストへの「参照 (reference)」が埋め込まれているテキストです。ハイパーテキストという仕 組みを使えば、テキストのある部分から、関連している情報を含んでいるテキ ストのある部分を引き出すことが簡単になります。
ハイパーテキストを拡張し、テキスト・データだけでなく、音声や画像などの データを扱えるようにしたものを、ハイパーメディア(hypermedia)といいます。
ハイパーメディアやハイパーテキストのデータを作成するためには、 次の2つの事が必要になります。
WWW では、マークアップ言語として HTML (HyperText Markup Language)と呼 ばれている言語が使われています。HTML では、他のデータへの参照を実現す るためにURL (Uniform Resource Locator) という形式を使います。次に、URL の例を示します。
http://www.ntt.co.jp/SQUARE/index-j.html
先頭のhttp
とは、(HyperText Transfer Protocol) を意味して
います。HTTP は、WWWのデータを保持しているプログラム(サーバ)と、WWW
を表示するプログラム(クライアント)の間でデータをやり取りするときの形
式を定めた約束のことです。www.ntt.co.jp
の部分は、そのデー
タを持っているコンピュータの名前です。残りの
/SQUARE/index-j.html
が、そのコンピュータの中での資源の
名前(ファイルの名前)です。最後の .html
は、その資源が
HTML で書かれている事を表わしています。
2つの、木構造の表記方法
ファイルの中で、内容として文字コード(ASCII,漢字 (JIS,EUC,Shift-JIS),Latin-1)だけからなるファイルをテキスト・ファイル (text file)といいます。(テキスト・ファイル以外のファイルを、バイナ リ・ファイル(binary file)といいます。)
テキスト・ファイルは、次のような所で使われています。
テキスト・ファイルを作るには、テキスト・エディタ(text editor)というプ ログラムを使います。実習では、電子メールを打つ時に、emacs (ng, mule) というテキスト・エディタを使っています。
電子メール・アプリケーション(mnewsなど)は、メール・ボックスをテキスト・ ファイルで実現しています。つまり、テキスト・ファイルに電子メールを保存 しています。
電子メールを打つ時に、テキスト・エディタのプロセス(プログラム)と電子 メール・アプリケーション(mnewsなど)のプロセスは、ファイルを経由して 「通信」します。つまり、テキスト・エディタょ用いて電子メールで送る文字 コードの並びからなるデータを作成し、作成したデータをファイルに保存しま す。電子メール・アプリケーションは、そのデータをファイルから読み出し、 電子メールを送るプログラムに渡します。
emacs (ng)では、次の2つの「もの(object)」が重要です。
プログラミング言語、プログラムを書くための人工言語。
2つの実行方式
種類
分類