基本情報技術者試験 2002年度 = 平成14年度・秋期 午前 問68

 表は、ジョブ1~3が資源A~Cにかけるロックの種別を表す。また、資源へのロックはジョブの起動と同時にかけられる。ジョブ1~3のうち二つのジョブをほぼ同時に起動した場合の動きについて、適切な記述はどれか。ここで、表中の“-”はロックなし、“S”は共有ロック、“X”は占有ロックを示す。


     資源 
    \    
 ジョブ

  A     B     C  

 ア  ジョブ1の後にジョブ3を起動したとき、ジョブ3の資源待ちはない。
 イ  ジョブ2の後にジョブ1を起動したとき、ジョブ1の資源待ちはない。
 ウ  ジョブ2の後にジョブ3を起動したとき、ジョブ3の資源待ちはない。
 エ  ジョブ3の後にジョブ1を起動したとき、ジョブ1の資源待ちはない。

解答

 イ

解説

 複数のジョブが資源をアクセスする際に、整合性を保てるようにロックによる排他制御が行われます。
 複数のジョブから資源を共有する共有ロックは、他のジョブからの共有ロックは許容して、占有ロックを排除します。単一ジョブが資源を独占する占有ロックは、他のジョブからの共有ロックと占有ロックを排除します。

 資源Aに共有ロックがかかっていますので、解放されるまで資源待ちが発生します。

 ジョブ1と2の両方でアクセスする資源Aは共有ロックですから、ジョブ1の資源待ちはありません。

 資源Aに共有ロックがかかっていますので、解放されるまで資源待ちが発生します。

 資源Aに占有ロックがかかっていますので、解放されるまで資源待ちが発生します。


BohYoh.comトップページへ