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.
Tidak ada komentar:
Posting Komentar