Home Start Back Next End
  
33
C. Mutex
Mutex (mutual
exclusion)
adalah
suatu
jenis
semaphore
yang
digunakan untuk menjamin hanya
ada satu proses yang berjalan untuk
mengakses
buffer pada
suatu
waktu.
Sehingga
thread –
thread lain yang
mencoba
mengakusisi
mutex
akan
memblock. Pemblokiran didapatkan
dengan melakukan spinning atau sleeping. Mutex biasanya diberi
inisialisasi
dengan angka 1.
Solaris memiliki dua tipe dasar mutex, yaitu “adaptive” dan “spin”.
Tipe default mutex adalah adaptive.
Tipe
mutex
ditentukan
ketika
diinisialisasikan
oleh
mutex_init(9f).
Sebagian
besar
mutex
di
sistem adalah
adaptive,
dan
kode
pengunci
dioptimalisasikan
untuk
mutex
adaptive
tanpa
perlu diperdebatkan. Dengan kata lain, mengakusisi mutex adaptive yang
tidak ada pemilikinya
merupakan kasus
yang paling
umum dan path kodenya
paling cepat.
a.   Mutex adaptive bekerja sebagai berikut :
Thread peminta mencoba mendapatkan pengunci. Jika pengunci
tidak ada pemiliknya, thread peminta “mengakusisi” pengunci dan
melanjutkan pemorosesannya. Jika pengunci telah ada pemiliknya, dan
pemilik
pengunci
sekarang
sedang berjalan
di
prosesor
(tentunya
ini
mempengaruhi mesin berprosesor gdana), thread peminta men-spin untuk
mencoba mengakusisi pengunci. Jika pemilik pengunci mem-blok (men-
switch keluar membiarkan thread lain berjalan), thread peminta tidur (
berhenti 
men-spin 
dan 
men-switch 
keluar). 
Jika 
pemilik 
pengunci
Word to PDF Converter | Word to HTML Converter