Jumat, 29 Oktober 2010

Mutual Exclusion

MUTUAL EXCLUSION


Penjelasan tema Mutual Exclusion
Pada system computer terdapat sumber daya yang tidak dapat dipakai bersama pada saat yang bersamaan seperti pada penggunaan printer, Sumber daya seperti hanya dapat menjalankan satu proses pada suatu saat, sumber daya ini disebut sumber daya kritis. Program yang menggunakan sumber daya kritis disebut sedang memasuki critical region / section .
Sistem operasi memberikan fasilitas untuk pemrogram dapat memberikan indikasi keberadaan critical region. Sistem operasi menyediakan layanan ( berupa system call ) untuk mencagah suatu proses masuk kedalam critical region akan tetapi di dalam critical region terdapat proses lain yang sedang berjalan. Mutual exclusion merupakan solusi bagi masalah pada critical region / section, mutual exclusion adalah persoalan untu menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section.

Ilustrasi aplikasi tabungan


Seluruh sistem yang melibatkan banyak proses mengakses satu sumber daya bersama selalu menimbulkan persoalan mutual-exclusion.
Contohnya adalah sebagai berikut.
· Pada aplikasi tabungan, misalnya rekening A berisi Rp 1.000.000,- yang terdaftar di kantor cabang bandung.
· Kemudian pada suatu saat program aplikasi kantor cabang di Jakarta melayani penyetoran Rp 3.000.000,- ke rekening A. lalu program aplikasi membaca saldo akhir rekening A

Persoalan di atas dapat tidak terjamin mutual-exclusion jika:
1. Program aplikasi bandung menulis ke rekening A secara cepat sehingga di hasilkan saldo Rp 6.000.000. Setelah itu, program aplikasi kantor cabang Jakarta menimpa hasil itu dengan saldo Rp 4.000.000,- . Dalam kasus ini saldo akhir yang diperoleh adalah Rp 4.000.000,- bukan Rp 10.000.000,- (yang seharusnya).
2. Program aplikasi Jakarta dilakukan menulis ke rekening A secara cepat sehingga dihasilkan saldo Rp 4.000.000,-. Setelah itu program aplikasi di kantor bandung menimpa hasil itu dengan saldo Rp 6.000.000,-. Hasil yang lebih baik dibanding skenario pertama tetapi masih di bawah yang seharusnya yaitu Rp 10.000.000,-.

Kriteria Penyelesaian Mutual-Exclusion


Kemampuan menjamin mutual-exclusion harus memenuhi kriteria-kriteria berikut:
1. Mutual-exclusion harus dijamin.
2. Hanya satu proses pada satu saat yang diizinkan masuk critical section yang sama pada saat telah ada proses yang masuk critical section itu.
3. Proses yang berada di noncritical section, dilarang mem-block proses-proses lain yang ingin masuk critical section.
4. Harus dijamin proses yang ingin masuk critical section tidak menunggu selama waktu yang tak berhingga atau tidak boleh terjadi deadlock maupun startvation.
5. Ketika tidak ada proses di critical section, maka proses yang ingin masuk critical section harus diizinkan segera masuk tanpa ada waktu tunda.
6. Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada. kriteria pada nomor satu merupakan kriteria pokok yang harus dipenuhi. Metode yang melanggar kriteria nomor satu sama sekali tidak dapat di gunakan. Pelanggaran kriteria-kriteria lain berarti metode masih bisa digunakan pada situasi-situasi tertentu tapi harus dilakukan secara hati-hati.

5 komentar: