ファイル、ディレクトリとオペレーティング・システム

共通科目情報処理(講義)、生物資源学類対象、2000年09月26日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/shigen-kougi-2000/2000-09-26
あるいは、次のページから手繰っていくこともできます。
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/

■復習

コンピュータの内部にある重要な部品
CPU
計算を行う。計算の速度を決める。
メモリ(RAM(Random Access Memory))
実行中のプログラムを保持する。加工するデータを一時的に保持する。 揮発的(電源を切ると消えてしまう)。速い。高い。
ハード・ディスク (HD(Hard Disk), HDD(Hard Disk Drive))
プログラムやデータをデータを保持する。永続的(電源を切っても 残っている)。安い。RAM より遅い。
2種類の記憶のための部品(メモリとハードディスク)の使い分けが大事。

■今日の重要な話

情報量や記憶容量の感覚を持ちたい。

コンピュータをうまく使いこなすには、いくつかのコンピュータの内部にある 幻影が存在すると信じることができるかどうかにかかっている。その中で、ファ イルという幻影がもっとも重要である。

人間は(コンピュータがなくても)さまざまな幻影を使っている。

■感覚

◆情報量の感覚

1 ビット
白と黒の区別
1 バイト (8ビット)
ヨーロッパ系文字 1 文字。256色。
2 バイト (16ビット)
日本語の漢字 1 文字。60000色。
3 バイト (24ビット)
1677万色(2の24乗)。
4 バイト (32 ビット)
現在広く使われているコンピュータが 一度に計算できる情報量。整数なら40臆程度まで。
256 ビット (32バイト)
16ドット×16ドットの白黒の画像(ビットマップ)で 漢字 1 文字を表現した時の情報量。
数 k バイト
典型的な電子メール1通の大きさ。数千文字。
8k バイト (8000 バイト、64 k ビット, 64,000 ビット)
1秒間に電話の品質で音声を記録した時の情報量。
1 M バイト (1,000,000 バイト, 8,000,000 ビット)
フロッピディスク1枚に保存できる情報量。
230M バイト
光磁気ディスク(MO)1枚に保存できる情報量。 (230M バイト以外にも、128MB/640MB/1.2GBのMOある)
64M バイト〜512M バイト
一度にメインメモリに入る量(構成によって違う)
640M バイト (640,000,000 バイト)
CD 1 枚に保存できる情報量。
4.7G バイト (5,000,000,000 バイト)
DVD 1 枚(片面2層)に保存できる情報量。
10 G バイト〜30G バイト
ハードディスクの容量(構成によって違う)

◆パソコンの構成

2000/09/18 ごろの典型的なコンピュータ。

情報量や記憶容量の感覚を持ちたい。

コンピュータをうまく使うためには、コンピュータの内部にある記憶のための 部品の性質、1つの部品で記憶できる容量を知る必要がある。

■ファイルとディレクトリ

ファイルとは

ディレクトリとは

コンピュータで ファイルとは、情報を保存しておくための箱のことである。 コンピュータで扱える情報は、ビットの並び表現されるが、それらを保存する ために様々な記憶媒体(ハードウェア)が使われる。記憶媒体としては、ハー ドディスク、フロッピ・ディスク、CD-ROM、光磁気ディスクがなどがある。そ れらの記憶媒体は、日常的に扱う情報を保存するためには大きすぎる。扱い方 がそれぞれの記憶媒体ごとに違っていては困る。

このような問題を解決するための仕掛がファイルである。ファイルは、(後述 するオペレーティング・システムというプログラムの働きで)、大きな記憶媒 体を扱いやすい大きさに分割して、かつ、記憶媒体が変わっても同じように扱 えるようにしたものである。

ファイルには、情報を保存する役割に加えてもう1つ大事な機能がある。それ は、「情報に名前を付ける」という機能である。この機能は、あたりまえすぎ てすぐに有難みがわかないかもしれない。しかし、もし全ての自分の情報をフ ロッピ・ディスク1枚1枚に入れてフロッピのラベルに書かれた情報の名前を 自分で読んで操作しなければならないことを想像すれば、情報の名前を計算機 が管理してくれる有難みを実感であろう。

ファイルに名前を付ける働きを持っている仕掛けは、ディレクトリ (directory)と呼ばれています。ディレクトリは、フォルダ(folder)と呼 ばれることもある。コンピュータの中では、ディレクトリは、ファイルの名前 の一覧表として現れる。

◆ファイルの性質

◆記憶媒体の初期化(フォーマット)

♪涙のフォーマット。フィジカル・フォーマット。

記憶媒体の種類

買ってきた記憶媒体。ビットを保存するための小さな場所が並んでいる。その ままでは、ファイルを作成することはできない。

図? フォーマットされていない記憶媒体

図? フォーマットされていない記憶媒体

ファイルを作成るためには、記憶媒体をある大きさの区画に区切り、ファイル の名前を保存する場所(ディレクトリ)を作成する必要がある。この操作を記 憶媒体の初期化(initialize)とか、フォーマット()という。

図? フォーマットされた記憶媒体

図? フォーマットされた記憶媒体

1区画は、512 k バイト〜8k バイトが多い(粗い番地付け)。 ディレクトリのための領域が作られる。

ファイルを作ると、名前がディレクトリに記録される。ディレクトリには、デー タがどこにある場所や属性が記録される。

図? ファイルがつくられた記憶媒体

図? ファイルがつくられた記憶媒体

フォーマットの方法には、2種類ある。

物理フォーマット(physical )
磁気的な方法、あるいは、電気的な方法など 記憶媒体に固有の方法で完全に買ってきた時と同じ状態に戻す。
論理フォーマット(logical )
ディレクトリを空にする。名前を消し、 データの区画への参照を消してしまう。 フォーマットしてしまうと、データは完全に消されてしまって、元に戻すこと はできない。特に物理フォーマットの場合は、戻すことができない。

物理フォーマットという考え方がない記憶媒体もある。たとえば、光磁気ディ スクなど。

同じ物理媒体でも、フォーマットの方法は違う。フロッピでデータを交換する 時には、双方のコンピュータで扱えるものを使う。よく使われるものは、 「MS-DOS 1440KBフォーマット」と呼ばれるものである。

◆ファイルの分類、テキスト・ファイル

ファイルの内容による分類

テキスト・ファイル(text file)
内容として符合化された文字だけを含むファイル
バイナリ・ファイル(binary file)
テキスト・ファイル以外のファイル。CPUが解釈できるプログラムや 画像・音声データを含んだファイル。
ただし、「文字」といっても、ASCII という方法で符合化されたものだけを指 すことがある。日本語の漢字を含むファイルの場合、テキスト・ファイルとし て扱えることもあるが、バイナリ・ファイルとして扱わなければならないこと がある。たとえば、インターネットでファイルをコピーするプログラム(ftp) では、漢字を含むデータをコピーする時に、バイナリ・ファイルとして扱う必 要がある場合がある。

テキスト・ファイルは、次のような所で使われている。

テキスト・ファイルを作ったり、内容を修正するには、テキスト・エディタ (text editor)というプログラムを使う。実習では、mnews で電子メールを書 く時に、emacs (mule) という名前のテキスト・エディタを使う。実習室のパ ソコンには、「メモ帳」、「秀丸エディタ」という名前のテキスト・エディタ が使えるようになっている。

■オペレーティング・システム

コンピュータの構成要素の大分類
ハードウェア
目に見えるもの
ソフトウェア
目に見えないもの、ビット列で表せるもの
  • プログラム
  • (データ)
ソフトウェアは、主にプログラムを指すことが多いが、データを指すこともあ る。プログラムとデータが厳密に区別できないこともある。

オペレーティング・システム(Operating System, OS)とは

徒然草(つれづれぐさ)。八になりし年。最初の仏問題。

OSは、他のプログラムを実行するプログラムである。 他のプログラムは、OSの力を借りてはじめて実行される。

ではOSは、誰が実行するか。

ブート・ストラップ(Boot strap,靴ひも)。 ほら吹き男爵は、底なし沼に落ちた時に、自力で脱出するために、自分の靴ひ もにつかまって脱出した。

◆オペレーティング・システムの種類

ソフトウェアを買う時、自分のパソコンのOSで動作するものを買う。 (CPU の種類も大事。同じ OS でも CPU の種類がプログラムは違うと動作しない。)

自分が使いたいソフトウェアが動作するようなOSとCPUを積んだパソコン を買う。

◆歴史

TSS (Time Sharing System)では、1台のコンピュータを大勢の人で同時に使 う、一人ひとりは、自分で占有しているかのように見える。

◆構成要素

図オペレーティング・システムの構成要素

図オペレーティング・システムの構成要素

一番人間(利用者)の目につきやすいのは、シェル。

◆シェルの機能

■仮想記憶(仮想メモリ)

コンピュータには、2種類の記憶するためのハードウェアが使われている。

揮発的記憶。メモリ(memory)、あるいは、主記憶(main memory,primary storage)
CPUと同じく、半導体で作られている(IC)。電源を切ると、内容が 失われる。速度が速く、値段が高い。
永続的記憶。二次記憶(secondary storage)
ハードディスク、フロッピ・ディスク、磁気テープ(8mmビデオなど)、 CD-ROM などで作られている。電源を切っても、内容は保存される。半導体の メモリと比較して、速度が遅く、値段が安い。

仮想記憶とは、実際に備えているメモリ容量よりも大きなプログラムを動かす ための仕組みでである。たとえば、仮想記憶を使うと、メモリが100Mバイ トしかないコンピュータで、200Mバイトのメモリを使うプログラムを実行 することができるようになる。もともとは、1つのプログラムで実際のメモリ 容量以上のものを使うための仕組みである。最近では、 複数のプログラムが使うメモリの総量で考えることもある。

仮想記憶の基本的なアイディアは、 すぐに使うところだけを速いメモリ(IC)に、当分 使わない所を、遅いハードディスクに置き、ディスクとメモリの内容を入れ替 えながら仕事を進めることである。この時、速いメモリを主記憶(main memory, primary storage)、遅いハードディスクを二次記憶(secondary storage)とい います。

◆置き換えアルゴリズム

一番いいのは、OPTアルゴリズムだが、実現不可能。未来の情報を使うので。 LRU は、過去の情報を使って未来を予測する方法。

野口悠紀雄の 「超整理法」の押し出しファイルは、LRUアルゴリズム。

アルゴリズム(手法、算法)とは、問題を解くためのあらかじめ記述された定義 の明確な規則、あるいは、指示の集まり。日本語などで書くこともできる。直 接的にはコンピュータでは実行できない。なんらかの方法で実行できるように なったものは、プログラムである。

◆「仮想」

仮想記憶は、「仮想」という言葉が付く言葉で、もっとも基本的なもの。

仮想計算機。仮想現実感。 ファイルは、ハードディスクを仮想化したものである。

類語:論理(←→物理、物理フォーマットと論理フォーマットも参照

反語:実(real)

辞書の定義は、今一つ。仮想記憶との類推で仮想という考え方を押さえたい。

仮想
仮に考えること。仮に想定すること。例:仮想敵国。(広辞苑)
仮想敵国
a hypothetical [potential] enemy。
virtual--形A(比較なし)
1 (表面または名目上はそうでないが)事実上の, 実質上の,実際(上)の: It was a virtual promise. (約束ではないが)約束も同然だった /He was the virtual leader of the movement. 彼はその運動の事実上の指導者だった.
2 【光】虚像の(#/ng/real): a virtual image 虚像.

■プロセス

プログラムとプロセス。

プロセスとは、オペレーティング・システムによって メモリに読み込まれ、実行可能になったプログラム。

単にファイル(ハードディスク)に入っていも、プログラムはプログラムであ る。 1つのプログラムを同時に2個動かすことを考えると、プログラムとプロセス の違いがわかる。

プロセスの類語

◆利用者の代理

プロセスは、コンピュータの中で利用者の代理という意味がある。利用者は、 コンピュータが持っているハードウェア資源を利用したい時、直接コンピュー タの中に入り込むことはできない。そこで、代理人としてプロセスを作る。プ ロセスは、利用者の代わりに、計算機の中で活動する。

◆プロセスの操作

◆プロセスの生成・消滅

プロセスを作るには、プログラムを実行する。WindowsやMacintosh では、プ ログラムが入っているファイルのアイコンをダブルクリックする。Unixでは、 プログラムが保存されているファイルの名前をキーボードで打ち込む。

プロセスを消す(殺す)には、実行しているプログラム(プロセス)の終了の 手順を行う。

時にプロセスを強制終了する必要か出てくる。

Unix
kill コマンド、^C
Windows
Alt+Control+Delete キーを押し、タスクマネジャを実行する
MacOS
Command+Option+Escape


↑[もどる] ←[9月19日] ・[9月26日] →[10月03日]
Last updated: 2000/09/26 00:12:26
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>