タグ

semaphoreに関するoka_Elizabethのブックマーク (2)

  • 【問題2】セマフォと排他制御

    前回の最後にお届けした課題演習―【問題2】は、「セマフォ」に関する問題でした。 セマフォは、メモリやポートなどの共有資源について獲得と返却の操作を行うことで、タスク間の同期および「排他制御」を可能にするオブジェクトです。 今回は、問題の解答に続いて、「セマフォと排他制御」について解説します。この機会にしっかりと理解しておきましょう。 それでは、解答を発表します! 課題演習―【問題2】の解答 共有資源のセマフォを獲得する操作を「P操作(オランダ語で“通行する”を意味するPasserenの略)」、セマフォを解放する操作を「V操作(オランダ語で“腕木を上げる”を意味するVerhoogの略)」といいます。P操作を行ったときに、セマフォのカウンタが「1」であれば、「1」が減算され、セマフォを獲得できます。セマフォを獲得した状態でV操作を行うと、セマフォのカウンタに「1」が加算され、セマフォが解放され

    【問題2】セマフォと排他制御
  • セマフォ

    Linuxで用いられる,一般的な排他制御の機構です。プロセスが利用する資源の排他処理などに利用されます。ちなみに「Semaphore」を日語に訳すと,「腕木信号機」になります。 セマフォは,資源の個数を管理するカウンタ(整数値)です。排他制御が必要な資源ごとに1つのセマフォ(カウンタ)を用意し,そのセマフォには,初期値として資源の個数をセットします。 その資源を使った(獲得した)場合にはセマフォを「1」減らします。逆に資源を使い終わった(返却した)場合は,セマフォを「1」増やします。セマフォが「0」になった場合には,利用可能な資源がないことを示しています。 例えば,プロセスが資源を要求したときに,その資源のセマフォが「1」以上であれば資源を割り当てます。もし,セマフォが「0」であれば,使える資源がないので,割り当てないようにします。別のプロセスが使っていた資源が返却されることで,割り当て

    セマフォ
  • 1