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).
- Tidak ada dua proses mungkin pada saat yang sama di dalam bagian kritis mereka.
- Tidak ada asumsi yang dibuat tentang kecepatan relatif proses atau jumlah CPU.
- Tidak ada proses yang harus di luar critical section-nya harus memblokir proses lainnya.
- Tidak ada proses yang harus menunggu lama untuk sewenang-wenang memasuki bagian kritis.
Tidak ada komentar:
Posting Komentar