Page 99 - C:\Users\RENO\Documents\MK Sistem Operasi\Folder Baru\
P. 99
sebuah program dijalankan di dalam critical section, maka tidak ada proses yang
diizinkan untuk menjalankan critical sectionya.
6.2. Semaphore
Semaphore merupakan salah satu solusi untuk mengatasi permasalahan critical
section. Semaphore ini biasanya diinisialkan dengan huruf “S” yang merupakan variabel
bertipe integer dengan 2 operasi atomic standar yaitu wait dan signal. Untuk operasinya
wait disimbolkan dengan “P” dan signal disimbolkan dengan “V” sebagai berikut :
Wait (S) : while S ≤ 0 do no-op;
S :=S-1
Signal (S) : S:=S+1
Jika suatu proses mengubah nilai semaphore, maka proses yang lain tidak harus
merubah nilai semaphorenya. Untuk memodifikasi nilai integer pada semaphore maka
operasi wait dan signal harus dieksekusi secara individual.
(B) Kegunaan Semaphore.
Ada beberap kegunaan semaphore dalam sebuah sistem operasi antara lain :
1. Solusi dari critical section untuk n proses
N proses membagi semaphore, mutex (mutual exclusion), diinisialkan dengan1.
Setiap proses P1 diorganisasikan sebagai berukut :
Repeat
Wait(mutex);
Critical secttion
Signal(mutex);
Remander section
Until false.
2. Penggunaan semaphore untik sincronisasi dua proses yang dijalankan konkuren
(C) Implementasi Semaphore
Semaphore pada sistem operasi dapat kita lihat dari berbagai kegiatan oleh
proses, antara lain :
85