2002/03/28

_ psするとスレッドが見える理由

Linuxでpsするとプロセスだけではなく、スレッドも見えてしまう理由がやっとわかった。

自分なりにまとめると、Linuxでは、スレッドをcloneシステムコールで作成できる。cloneシステムコールは、forkに似たプロセス作成のシステムコールだが、親プロセスのメモリ空間等を共有する子プロセスを作成する。つまり実際にはスレッドを作成していることになる。

この際に子プロセス(スレッド)のプロセス番号が新規に作成されるが、psコマンドではプロセス番号毎に表示を行なうので、スレッドもプロセス番号を持っているLinuxだと、スレッドが見えてしまうというわけらしい。

書いてても混乱する。1週間後の自分にも分かるかどうか。。 参考になったリンクは以下のとおり。
LinuxにおけるJava、スレッドおよびスケジューリング機能
LinuxとSolarisの違いを知る:第3回 スレッド・モデル
LinuxとSolarisの違いを知る:第4回 スレッド・モデル ─その2─

_ 突然改行がきかなくなった

なぜか、日記本文の改行の入力が、表示に反映されない。

こまった。あとで調べてみよう。

_ とかくとうまくいった。

何故か最初の項目だけ駄目みたい。不思議だ。