2009-04-25 4 views

答えて

2

mutexは単なるロックです。ポパポティのロックのように、一度に1人だけがそれを使用するようにします。相互排除には多くの種類があります。概要については、Andrew S. Tanenbaumまたはosdev.orgによるオペレーティングシステム:設計と実装を参照してください。私は前に "スプリットミューテックス"について聞いたことがないし、Googleは何も返さない。しかし、「分割」という用語は、それが相互に排除されていない(共有されていない複数の人物)ことを示唆しています。

通常、オペレーティングシステムやデバイスドライバを設計していない限り、ミューテックスを心配する必要はありません。また、パフォーマンスに影響を与える唯一の方法は、ロックされているリソースが他のプロセスから高い需要を得ている場合(つまり、ポートポットのための大きなラインアップがある場合)です。

SMPなどのような滅多にない状況がなければ、それをオペレーティングシステムに任せて、mutexとリソースをどのように処理するかを決定するのが最善です。

私は助けになることはできませんでした。私は "分割"ミューテックスについて何も知らない。 AIX特有のものであれば、IBMのマニュアルをチェックしたいと思うかもしれません。さもなければ、いくつかのIEEE研究論文で何かを見つけることができるかもしれません。

更新:さらに調査すると、これは一般的なケース最適化のケースであるようです。ミューテックスは2つの場合に分けられます:1)何も特別なことがない一般的なケース、いくつかの安全チェックが想定されるか、またはファーストパスと呼ばれるカーネル機能がバイパスされるか、2)チェックが合格または不合格と仮定することはできませんスローパスと呼ばれる最適化です。このような場合の最適化を定量化するために、Amdahlの法則がよく使われます。