UNIXシェルコマンドを利用したユーザプログラミング
粟村 幸代 ,磯崎 さおり ,瓜生 佳恵,
大井 美代子,三隅 和加奈
(指導 千 々 松 康)
-
UNIX OS
- 開発の歴史
UNIXは、1969年、アメリカAT&T社のベル研で開発された、マルチタスク、マルチ ユーザのOSである。DEC社のPDP
7上でのアセンブリ言語から、PDP20のC言語 で作り直された。移植性の高さから、急速に普及し、ワークステーション、パソコンOSへと
採用された。以下に、パソコンUNIXを挙げる。
Turbo Linux , Red Hat Linux , LASER Linux ,
Vine Linux ,
Plamo Linux , Open Linux , Slackware , Debian GNU/Linux
,
Storm Linux , Corel Linux , Kondare MNU/Linux , Linux MLD4 ,
FreeBSD
4
- コマンド
オプションの別を数えれば、数百にもなる実に多くのコマンドが用意されているとともに、 多彩で便利なツールもある。
- ファイルシステム
ファイルの管理には、木構造によって階層を持たせている。
根(root) ,節(directory) ,葉(file)の概念を採っている。
【例】 /export4/home/student/uc99xxx/*****
- フィルタ,リダイレクション,パイプ>
- フィルタ(filter)
コマンドの別な捉え方とも言え、入出力の機能も含めることができる。 (stdin ,
stdout ,stderr)
- リダイレクション(redirection)
ファイルの生成、追加、統合などに働き、対象を「>」(output)
,「>」(input) で記述する。
- パイプ(pipe)
コマンドからコマンドへと引き継ぐとき、一時ファイルを利用しなくても可能な“自動
連続引き渡し”機能といえる。
-
シェル制御文
- シェルとは
シェルとは、そもそもユーザが入力したコマンドを解釈して実行する機能(プログラム)
をいう。OSのユーザインタフェースの役目を果たしてくれ、中枢部分(カーネル:核
)を覆うことから、シェル(shell:貝の殻)と呼ばれている。
- 制御文の役割と種類
- コマンドの1つ1つは、それ自体で単独で目的の実行をするが、
制御文は、以下のような働きをして、実行の効率をあげてくれる。
○ 似かよった処理
○ 同じコマンドの繰り返し
○ 入出力対象などの自動化
- 具体的に文を以下に示す。
-
プログラミング(問題の要点)
- ビットの操作
- 演算子 …shift(>>右、<<左) ,論理(~、&、|、^)
- メモリ表示
- ポインタ
- 演算子 …address(&)、pointer(*)
- ポインタ変数による算術演算、文字列演算
- 線形リストの作成
- リストの要素(データ部とポインタ部)と構成
- 追加と削除、具体例(同音意義語の集合データ)
- 線形リストの種類(木構造、一方向リスト、双方向リスト)
- 子プロセスの生成
- システムコール(fork関数:親プロセスidをコピーして子ピロセスとする)
- タイミングをとる。(sleep関数)
- プロセスをゾンビにする
ユーザモードとカーネルモード(システムコールによる割り込み状態)
ゾンビ状態…プロセス自体は消滅しているが、プロセステーブルからはまだ解放 されてはいない。
-
おわりに
OSがユーザに向けてどのような性格のものであるかで、計算機を利用する上で
大きな特徴となって表れてくる。UNIXは、簡明で飾らないシンプルな形で、他
のものと比べて、基本部分まで解放しているOSといえる。
ミニコンを対象に開発されたUNIXが、パソコンに移植され、FreeBSD
とLinuxの2つの大きな流れで現在に到っている。コマンド入力を基本として の利用は、windowsとは、また違った経験をすることができた。
《参考文献》
- Lowell Jay Arthur 著、伊東正安 監訳、千吉良英毅 他共訳
「UNIX
シェルプログラミング」、オーム社(1996)
- 羽山 博 著 「unix システムプログラミング」、オーム社(1994)
- 河西 朝雄 著 「C 言語」、ナツメ社(1990)