Lions本読書会#6
あとはu.u_signal[n]によって、該当ソフトウェア割り込みが発生したときの処理を制御できるというのぽポイントかな。無視したり特定の手続きを呼び出したりそのプロセスを殺したり
2011-04-10 14:01:38そうそう、@xylnaoさんからLions本の英語版をいただきました。誕生日プレゼントです。ありがとうございます!
2011-04-10 14:02:39software interruptとtrapとexceptionは本来どれも似たようなものだが、システムごとに微妙に異なるニュアンスで使われてるので要注意。
2011-04-10 14:04:06ttyってのがよくわかっていないんだけれど、ユーザ(人)が使っている端末だと思っていい?んでkilll( )に渡すpidが0だと、自分が使っている端末で起動させたプロセスを全部殺す。と、こういう認識でok?
2011-04-10 14:05:49なぜソフトウェア割り込みという機構があるかを考えていた。プロセスから明示的にハードウェア割り込みを引き起こせれば、ソフトウェア割り込みがなくても代わりにできそうな気が
2011-04-10 14:15:03signalの取りこぼしを防ぐ話はたしか「UNIXシステムコールプログラミング」にいろいろ書いてある。amazon見てみたら和訳が1円から買える!早い者勝ち。 http://amzn.to/gg6leZ
2011-04-10 14:15:48sys killでpidはr0経由で渡している。r0で渡しているのはpidが動的に変わるから?コードに埋め込むのが面倒
2011-04-10 14:35:50systemcallの引数を、なぜユーザプロセスのr0-7で渡さないのか?という謎。u.u_ar0経由でアクセスできるのに。
2011-04-10 14:50:00kill( )で渡すp_idが0の時の話。最近のLinuxなどではprocess group単位で制御する
2011-04-10 14:54:03sleep( )で寝る時の優先度の違いの話。優先度が0未満だとシグナル無視するので、ソフトウェア割り込みを受け取ったときもRUN状態にならない
2011-04-10 15:10:27issig( )で呼ぶstop( )の謎。ppidが1(/etc/init)の時はexit( )呼ぶ。
2011-04-10 15:11:09ZOMBIEになるときppidを1にセットしている。ここと関係あるかな?と思ったけど、関係ないんじゃないという指摘
2011-04-10 15:15:35psig( )の話。signal#に負を指定すると、u.u_signal[-n]とか実行しちゃう。セキュリティ大丈夫?
2011-04-10 15:19:15psignal( )でsigが0未満のときはじけばいいのでは。ただしkill( )から見ると普通に処理しているように見える。sig >= NSIG以上のときも同じ。
2011-04-10 15:21:36