FreeBSDカーネルのセマフォがMutex + CVほど効率的ではないことを読みました。このマニュアルページ。 POSIXセマフォのカーネルとシステムコールの実装を確認しました。源泉 パスワードそしてMutex + CVの上に実装されていることを確認してください。
おそらく私の誤解リアルタイム同期プリミティブであるPOSIXセマフォは非常に効率的です。しかし、これを読んだ後、それがどれほど効率的かわかりません。
さらに、本も読んでいます。同時プログラミング:アルゴリズム、原理、基本。私はまだ最初の部分を読んでいませんが、セマフォの上に実装されたモニター(CV)を紹介しようとしています。これにより、より効率的なMutex + CVベースではなく、実際の世界でセマフォを実装する効率的な方法が必要になると思います。
お持ちですか?現実世界セマフォの実装はMutex + CVベースではありませんか?
答え1
これLinuxの実装CVは使用されていないようですが、セマフォの状態を保護するためにカーネルスペースロックを使用しています。