Rabu, 24 April 2013

Mutual Exclusion



Pengertian Mutual Exclusion adalah Sebuah cara untuk memastikan bahwa jika satu proses yang menggunakan dimodifikasi data bersama, proses lain akan dikeluarkan dari melakukan hal yang sama.
Secara formal, sementara satu proses mengeksekusi variabel bersama, semua proses lain yang ingin melakukannya pada saat waktu yang sama harus terus menunggu, ketika proses yang telah selesai mengeksekusi variabel bersama, salah satu proses menunggu, sedangkan proses yang telah selesai melaksanakan variabel bersama, salah satu proses yang menunggu untuk melakukannya harus diizinkan untuk melanjutkan. Dengan cara ini, setiap proses mengeksekusi data bersama (variabel) termasuk semua orang lain dari melakukannya secara bersamaan. Ini disebut Mutual Exclusion.
Perhatikan bahwa mutual exclusion harus ditegakkan hanya ketika akses proses berbagi dimodifikasi Data - ketika proses sedang melakukan operasi yang tidak bertentangan dengan satu sama lain mereka harus diizinkan untuk melanjutkan bersamaan.
Kondisi Mutual Exclusion
Jika kita bisa mengatur hal-hal sehingga tidak ada dua proses yang pernah di bagian kritis mereka secara bersamaan, kita bisa menghindari kondisi lomba. Kita perlu empat kondisi untuk mengadakan memiliki solusi yang baik untuk masalah critical section (mutual exclusion). 
  1. Tidak ada dua proses mungkin pada saat yang sama di dalam bagian kritis mereka. 
  2. Tidak ada asumsi yang dibuat tentang kecepatan relatif proses atau jumlah CPU.
  3. Tidak ada proses yang harus di luar critical section-nya harus memblokir proses lainnya. 
  4.  Tidak ada proses yang harus menunggu lama untuk sewenang-wenang memasuki bagian kritis.

Tidak ada komentar:

Posting Komentar