並行プロセスと排他制御の課題文の添削のお願い

前提

以下の問題文の解答の添削をしていただきたいです.

問題文

複数の事業への入金を管理しているデータベースがある.
データベースには事業毎の預り金残高が登録されている.各事業への入金があると,入金管理プログラムが
プロセスとして起動し,次の処理を行なう.

  1. その事業の残高をデータベースから取得する.
  2. 入金金額を残高に加算した金額を計算する.
  3. 計算した金額をデータベースに登録する.

運用していると残高が加算されていないケースがまれに発生していることが分かった.
その理由と対策を考えよ.

添削していただきたい解答文

理由:共有領域が空いているかの判定と共有領域の確保がアトミックになっていないから.
対策:共有領域が空いているかの判定と共有領域の確保をアトミックにする

以上,よろしくお願いいたします.

コメントを投稿

0 コメント