プロセス 10/05

課題1

オンラインマニュアルなどを参考にして ps コマンド, top コマンドを理解しなさい。 例えば、以下のコマンドの意味は何か理解しなさい。

課題2
top を実行しつつ、他のプログラムを実行、操作し、それがどれくらい資源 を使っているか観察しなさい。

例えば

  1. いろいろなアプリケーションを多数立ち上げる。
  2. ウィンドウを盛んに移動させてみる。
  3. 無限ループをするプログラムを作り、実行してみる。

課題3
  1. 何もせずただ無限ループを実行する(終了することのない)プログラムを 作成しなさい。
  2. プログラムを実行し、別のシェルから(別の kterm から)ps コマンドに よってそのプログラムのプロセス ID を調べなさい。
  3. 実行中のプロセスをサスペンド状態(一時停止状態)にしなさい。その時 でもプロセスは存在し続けていることを確認しなさい。 一時停止したプロセスを再開させなさい。 ヒント: "man bash", Ctr-Z, fg, bg, jobs
  4. 無限ループプログラムをバックグラウンドで幾つか並行して実行し、 ps コマンドによって、プロセスの存在を確認しなさい。
  5. 実行した無限ループプログラムを kill コマンドで、 残らずすべて終了させなさい。

課題4
  1. オンラインマニュアルで renice コマンドの意味と使い方を理解しなさい。
  2. 無限ループプログラムを2つ以上実行し、それらのうち一方の優先度を下げ、CPU の利用率を観察しなさい。

課題5
  1. getpid はプロセスのプロセスID を調べるシステムコールである。 オンラインマニュアルでその使い方を調べなさい。
  2. 自らのプロセス ID を表示するプログラムを作ってそれを 何度か実行してみなさい。
  3. 表示される ID はプログラムを実行するたびに違うはずである。 それを確認しなさい。
  4. ID を表示したあと、すぐに終了せずに、キーボードからの入力待ち をするようにプログラムを変更しなさい。プログラムが入力を待っている間に 別のシェルから ps コマンドを実行し、プログラムが表示する ID と ps コマンドから得られる ID が一致していることを確認しなさい。

課題6

課題7

  1. 実行形式のファイル名を a.out 以外にするための g++ コマンドのオプションを調べなさい。

  2. program-a.cpp をコンパイルしてその実行形式のファイル名を program-a としなさい。実行して結果を確認しなさい。

  3. 実行形式 program-a を置いたディレクトリにて、 program-b.cpp を実行した場合の結果を man 3 exec の内容に基づいて予想しなさい。 予想とその根拠を文書として記録しなさい。 予想の当たり外れはどうでも良い。自分なりに良く考えて、根拠を書くこと。

    • 予想とその根拠の記録を必ず 実行前に行うこと 。 少なくとも 10分は予想と記録にかけること。
    • 予想は 自分一人で行うこと。 (他人と相談しない)
    • プロセス ID の値そのものは予想できないことが多い。プロセス ID の間の関係(どれとどれが同じか?、違うか?)が問題である。

  4. 実際にプログラムを実行して、結果を確認しなさい。

  5. 予想がはずれた時は、自分の考えの何が間違っていたのか検討しなさい。 これは他人と共同して良い。

課題8(提出課題)

  1. program-c.cpp を実行した場合の結果を man fork の内容に基づいて予想しなさい。 課題7と同様の指示に従い、記録を残すこと。

  2. 実際に実行し、結果を確認して、自分の考えの妥当性を検討しなさい。

    1. 2. の内容を合わせて レポートとして提出 すること。

    • 提出〆切:10月12日(水)12:00
    • 提出方法:電子メールで 美濃 に送る。 Subject(件名)を OS-1005 とすること。
    • 配点:3点

    「予想」についてはあくまで自分の予想を書くこと。 「実行後の検討」においては他人と相談して良いが、 レポートは必ず自分で書くこと。

    • 予想と結果の分析の両方ともが具体的でないもの、曖昧なものはダメ。
    • 予想は曖昧でも仕方ないが、結果の分析は具体的にできるはず。
    • 予想がよく当たっている場合は、 その予想の根拠が具体的に示されていなくてはならない。 (実行結果を見て予想を書き、「予想は当たった」と言ってもダメ)

    他人のコピーであることが発覚した場合は、コピーした人もコピーさせた人も 履修取消(単位取得不可能)などの厳しい処分となる。 かりに発覚しなかったとしても、 他人のコピーをしている人は、後で困ることになるだろう。