Mutal exclusion adalah
: Jaminan bahwa hanya satu proses yang mengakses sumber daya pada suatu
interval tertentu.Bagian proses yang
sedang mengakses sumber daya yang dipakai bersama disebut critical section/region
Kriteria
penyelesaian Mutual exclusion
Fasilitas atau kemampuan dukungan mutual
exclusion harus memenuhi kriteria kriteria berikut:
1. Mutual
exclusion harus dijamin, yaitu hanya satu proses yang diijinkan masuk pada critical section pada suatu saat.
2. Proses
yang berada di noncritical section, dilarang mem-blocked proses-proses lain yang ingin masuk critical section
3. Harus
dijamin proses yang ingin masuk pada critical section, maka proses tersebut tidak menunggu selama waktu tak
terhingga
4. Ketika
tidak ada proses pada critical section, maka proses yang ingin masuk harus diijinkan tanpa waktu tunda.
Metode-metode
penjaminan mutual exclusion
1. Metode
Naif
Ketika
proses akan masuk criyical section, proses lebih dahulu memeriksa variabel lock, dengan ketentuan:
-
Jika variabel lock bernilai nol, proses
men-set variabel lock menjadi 1 dan
kemudian masuk critical section
-
Jika variabel lock bernilai 1, maka proses
menunggu sampai nilai variabel lock
menjadi 0.
2. Metode
dengan semaphore
Prinsip semaphore adalah :
Dua
proses atau lebih dapat bekerja sama dengan dengan menggunakan penanda sederhana. Proses dipaksa berhanti
sampai proses memperoleh penanda
tertentu. Variabel khusus untuk penandaan ini disebut semaphore. Terdapat dua
operasi terhadap semaphore, yaitu :
a. Operasi
down
-
Operasi ini menurunkan nilai semaphore,
jika nilai semaphore menjadi non positif
maka proses yang mengeksekusinya diblocked.
-
Operasi down
Bersifat atomik, tidak dapat diinterupsi
sebelum selesai, menurunkan nilai,
memeriksa nilai, menempatkan proses pada antrian dan memblocked sebagai sebagai intruksi tunggal,
sejak dimulai tidak ada proses lain yang
dapat mengakses semaphore sampai operasi selesai atau diblocked.
b. Operasi
up
-
Operasi up merupakan operasi menaikkan
nilai semaphore, memindahkan dari
antrian dan menempatkan satu proses ke senarai
ready dan tidak dapat diinterupsi
Mutual
exclusion dengan semaphore
Dengan adanya semaphore akan mempermudah
persoalan mutual exclusion. Sebelum
masuk critical section, proses melakukan down, bila berhasil maka proses diblocked pada semaphore. Proses yang
diblocked akan dapat melanjutkan kembali
bila proses di critical section keluar dan melakukan operasi up sehingga menjadi
proses yang diblocked ready dan berlanjut sehingga operasi down-nya berhasil.
0 Comments