Unix基礎
1.
Unixとは
(1) Unixとは
UnixとはAT&Tのベル研で開発されたオペレーティングシステム(OS)のこと。
Ø 汎用性
Ø マルチユーザー
Ø マルチプロセス(マルチタスク)
Ø 会話型
Ø タイムシェアリング
(2) Unixの特徴
従来のOSがハードウェアの効率的使用に主眼を置いていたのに対し、ユーザーオリエンテッドな環境を実現することを目的とした。
Ø C言語で書かれているため移植性がよい。
Ø ディレクトリが階層化ツリー構造になっているためファイルの管理が便利。
Ø ファイルは単なる文字列で、ファイル・ディレクトリ・デバイスを同様に扱える
Ø キーボードの代わりにファイルからデータを入力させたり、画面出力の変わりにファイルへ書き込むことが容易。
Ø いくつかのプロセスを連続実行させるとき、パイプというメモリ上のバッファを経由して行うことができる。
Ø 非同期で動く複数個のプロセスを簡単に作れる。
Ø コマンド言語(シェル)は一種のプログラム言語になっている。
Ø ターミナルとの通信が全二重となっていて、ターミナル出力中でもキーボード入力などができる。
Ø 色々なプログラム言語やソフトウェアを使える。
Ø 他のシステムとつないでネットワークができる。
Ø マニュアルがオンライン・ファイルに入っていてmanコマンドでいつでも見れる。
(3) Unixの歴史
1960 ベル研K.ThompsonとD.Ritchieによって開発される
1972 D.Ritchie、C言語開発。
1973 C言語への大規模な書替え
1976 ウェスタン・エレクトリック社を通じて一般公開
1979 VAXに移植
1981 ベル研版(システムIII)とバークレイ版(4.1BSD)に分離
2.
ファイルシステム
(1) ファイルシステムの特徴
Ø ファイルは単なる文字列(bite単位のデータの集まり)で、他のコンピュータにあったファイル編成・レコード長・ブロック長のような面倒な概念がない
Ø 同一形式であるため、あるプログラムの出力を別のプログラムの入力にすることが簡単にできる
Ø ファイル(プログラム、テキスト、データなどを格納している通常ファイル)・ディレクトリ(ファイルの名前とファイルの情報のポインタが入っているファイル)・デバイス(入出力デバイスに参照されるファイルで、通常ディレクトリ「/dev」内に存在)を同格に扱える
Ø これによりキーボードの代わりにファイルからデータを入力させたり、画面出力の変わりにファイルへ書き込んだりでき、入出力デバイスの保護を通常ファイルの保護と同様に考えることができる
Ø よくあるディレクトリ
1. /bin 良く使うUnixコマンドが入っている
2. /dev デバイスファイルが入っている
3. /etc システム管理者が使用するコマンドが入っている
4. /lib システムライブラリが入っている
5. /tmp Unixによって作成中のテンポラリファイルが入っている
6. /users ユーザのファイルが入っている
7. /usr 他のコマンド、ライブラリなどが入っている
(2) ファイルシステムの構造
Ø ファイルシステムは階層化ツリー構造になっている(トップはルートディレクトリ)。
Ø ホームディレクトリ:ユーザがログインすると自動的に入るディレクトリで、ユーザの作業領域(ワーキングディレクトリ)。ルートの下のusersのさらに下に置かれる。
Ø パス名を用いてファイルやディレクトリの識別ができる。ディレクトリの名前を「/」で区切りながら次々とディレクトリ名を並べたもので、最後に目的のファイルやディレクトリを書く。
Ø 絶対パスと相対パス(「.」は自分、「..」は親)がある。
(3) ファイルの保護
Ø ファイルの保護(パーミッション)をファイルに割り当てることができ、これによりファイルのアクセスできるユーザを制限できる。
Ø 保護モードは、-rwxrwxrwx(ファイルの場合)かdrwxrwxrwx(ディレクトリの場合)で、最初の1文字がファイルかディレクトリの識別子、次の3文字は所有者用、次の3文字はグループ内のユーザ用、次の3文字はその他のユーザ用。rはread(読み込み権)、wはwrite(書き込み権)、xはexecute(実行権)。
Ø 保護モードはchmodコマンドで変更できる