Special Sponsor

Monday, August 20, 2007

Deadlock

Kebuntuan berlaku apabila lebih dari satu sumber kongsi (shared resource) dalam sistem diminta oleh proses berlainan tetapi suatu atau lebih daripada sumber kongsi itu dimilik oleh proses yang tidak dapat melepaskannya

Cara Pencegahan

  • Pengecualian Salingan (Mutual Exclusion)
  • Adalah keadaan di mana sumber kongsi hanya dapat digunakan oleh suatu proses sahaja.

  • Pegang dan Tunggu (Hold and Wait)
  • Pegang dan Tunggu berlaku bila proses dibenarkan memegang satu lebih sumber kongsi semasa ia menunggu kebolehsediaan (availability) sumber kongsi yang lain.

  • Penungguan membulat (Circular Waiting)
  • Berlaku bila proses P1 pegang sumber R1 dan meminta sumber R2, manakala proses P2 pegang sumber R2 dan meminta sumber R1. Masalah ini boleh dilanjutkan kepada lebih daripada dua proses.

  • Tiada Pemintasan (No preemption)
  • Tiada peminatasan bermaksud proses hanya melepaskan sumber kongsi demi kehendaknya, dan bukan secara paksa oleh OS
Kaedah Pengelakan
Pengelakkan berdasarkan strategi ‘keadaan selamat’ (safe state).

Setiap proses mestilah memberi “Tuntutan Maksima” (Maximum claim) kepada OS supaya OS dapat memastikan bahawa sistem sentiasa dapat memenuhi keperluan sumber kongsi setiap proses melalui suatu jujukan peruntukan (allocation sequence) dimana setiap proses dapat diperuntukkan tuntutan maksima secara berturutan.

Pengesanan dan Pemulihan

Pengesanan dan Pemulihan menggunakan analisa graf (graph analysis) untuk menentukan sama ada kebuntuan telah berlaku. Sekiranya kebuntuan berlaku, maka pemulihan akan dilaksanakan supaya pemintasan (preemption) sumber proses berlaku sehingga sistem tidak lagi berada dalam keadaan kebuntuan.

Biasanya pemintasan sumber menyebabkan proses itu dihapuskan.

Pengesanan dan Pemulihan merupakan strategi pengoptimuman tetapi perlaksanaan algoritma pengesanan dan pemulihan memerlukan masa pemprosesan yang berlebihan.

Cara Manual?
Guna saje process manager @ task manager :p

No comments: