Home Start Back Next End
  
36
sistem operasi
untuk
memahami
dan
memaksakan
batasan
ini,
karena
maksud
program tidak
dapat
diketahui
oleh
sistem operasi.
Hanya
saja,
sistem
operasi
menyediakan
layanan
(system
call) yang
bertujuan
untuk
mencegah
proses
lain
masuk
ke
critical section
yang
sedang
digunakan
proses   tertentu.   Pemograman   harus   menspesifikasikan   bagian-bagian
critical section,
sehingga
sistem
operasi
akan
menjaganya
dengan
suatu
mekanisme
untuk
mencegah proses
lain
masuk critical region yang sedang
dipakai proses lain.
2.9.5
Semaphore
Semaphore pada Unix
/
Linux
merupakan suatu counter yang dapat
digunakan
untuk
mensinkronisasi
banyak
thread atau
proses.
Semaphore
dapat
digunakan
ketika
beberapa
proses
mencoba
untuk
mengakses
file
atau sumber daya yang sama. 
Semaphore yang tersedia dapat diakses oleh
semua proses sehingga proses-proses tersebut dapat membaca dan
memeriksa
nilai semaphore
dan
juga
dapat
menginisialisasi
serta
mereinisialisasi
nilai
dari semaphore
yang
sewajarnya.
Untuk
alasan
tersebut semaphore hanya disimpan di dalam kernel sehingga dapat diakses
oleh
semua
proses.
Semaphore
merupakan
atomic instruction artinya
suatu
instruksi yang sebenarnya terdiri dari
beberapa
instruksi
tetapi
dianggap
sebagai satu instruksi yang terkecil yang tidak dapat diinterupsi oleh proses
lain.
Disamping
digunakan
untuk
mendapatkan
mutual exclusion,
semaphore   juga  digunakan  sebagai 
mekanisme  
sleep   dan  wakeup.
Word to PDF Converter | Word to HTML Converter