デッドロック 11/19

課題1

  1. philosopher.cpp は「哲学者の食事問題」を 実演するプログラムである。読んで、理解せよ。

  2. 実際に実行してデッドロックが起きることを確認せよ。 プログラムが止まった時に、どの哲学者が どのフォークを保持し、どのフォークを待っているのか確認せよ。 確認は哲学者の数を3に減らして行っても良い。

  3. 配布資料に説明してある方法で、デッドロックが起きないようにプログラムを 修正せよ。

  4. resource ordering (資源の順序付け)の方法によって、 デッドロックが起きないようにプログラムを修正せよ。

  5. 資源の一括確保の方法によって、 デッドロックが起きないようにプログラムを修正せよ。

提出課題

課題1の 3, 4, 5 のうちの2つについて、自分で作成したプログラムとその説明を メールで提出せよ。