システム・プログラム
電子・情報工学系
新城 靖
<yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/syspro-2000/2000-05-01
/process-attr.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/
http://www.is.tsukuba.ac.jp/~yas/index-j.html
プロセスには、
図?のような属性と資源がある。
図? プロセスの資源と属性
プロセスは、資源を割当てる対象である。逆にいえば
割当てられた資源がまとまったプロセスを構成するといえる。
- メモリ(memory)
-
プロセスの重要な資源はメモリ(主記憶、main memory, main storage)
である。
メモリのうち主記憶に入っている部分を
レジデント・セット(resident set)
という。
- スワップ領域
-
(((スワップ領域)))とは、
YHM_Chapter_Ref(01-020,主記憶(main memory))が不足した時に、
プロセスのメモリ・イメージを格納するための、
YHM_Chapter_Ref(01-020,二次記憶(secondary storage))
上の領域である。二次記憶としては、ハードディスクがよくつかわれる。
- レジスタ・セット
-
プロセスが実行されている時はCPUのレジスタに格納されている
データは、プロセスが待ち状態や待機状態の時は、
メモリに保存される。
- ファイル記述子の表
-
プロセスごとにファイル記述子の表(開いたファイルの表)がある。通常、0
番目がキーボード、1番目と2番目がディスプレイを指している。
- 制御端末
-
プロセスごとにキーボードからのシグナルを受け取る
端末が一つ定められてる。この端末を
制御端末
とう。
- カレント・ワーキング・ディレクトリ
-
相対パス名を解釈する時に使う出発点となるディレクトリである。
cd コマンド、chdirシステムコールで変更できる。
- ルート・ディレクトリ
-
プロセス毎にルート・ディレクトリを設定することができる。
匿名ftp(anonymous ftp)など、
特に高いセキュリティが求められる時に
プロセスがアクセスできる
ディレクトリの範囲を制限するために使われる。
変更するには、chrootシステムコールを使う。
UNIXのプロセスが持っている重要な属性には、
次の様なものがある。
- プロセス識別子(PPID)
-
- 親プロセスのプロセス識別子(PPID)
-
- PGID(Process Group ID)
-
プロセスにはプロセス・グループ識別子(PGID)と呼ばれる属性がある。プロセ
ス・グループ識別子を指定してシグナルを送る機能(シグナルのマルチキャス
ト機能)を使うと、同じプロセス・グループIDを持つプロセスにまとめてシグ
ナルを送ることができる。これはプロセスの一時停止、再開のためのジョブ制
御で使われる。
- UID(User ID)
-
- GID(group ID)
-
- マスク(mask)
-
- 状態
-
- 優先順位(priority)
-
優先順位は、CPU資源を割当てる時に使われる。
優先順位は0から127の数で表わされ、
数字が小さい方が優先順位が高いことを意味する。
- 制限資源量
-
計算機上のメモリ資源や同時に開けるファイルの数は有限である。
この有限の資源を有効に分配するために、
プロセスごとに使える資源量の上限が決められている。
これを制限資源量とう。
プロセスは制限資源量を越えて資源を使用することはできない。
メモリの制限資源量を越えた場合はメモリ割り当てに失敗し、
ファイルを開く場合は、ファイルの開くことに失敗する。
ただし、CPU時間が制限値に達した場合は、
プロセスは強制終了させられる。
制限できる資源には次のようなものがある
(
制限できる資源の種類はかなりシステムに依存する)
()中はlimitコマンドで使うキーワード。
- CPU時間(秒) (cputime)
- 1つひとつのファイルの大きさ (filesize)
- データ・セグメントとスタック・セグメントの大きさ。(datasize, stacksize)
- レジデント・セットの大きさ (memoryuse (max memory size))
- core ファイルの大きさ (coredumpsize)
- 同時に生成できるプロセス数 (maxproc)
- 同時に開けるファイル数 (openfiles)
多くのシェルではYHM_limit()コマンドで制限資源量を設定したり、
unlimitコマンドで制限を解除することができる。
- その他
-
その他の属性としては、
シグナル制御関連の属性
や
統計情報
がある
↑[もどる]
←[4月24日]
・[5月01日]
→[5月08日]
[課題]
Last updated: 2000/04/30 21:39:13
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>