PROSES
A DA M B AC H T I A R , S . KO M . , M . M T
OBJECTIVE
Memahami implementasi
sinkronisasi dengan
masalah-masalah klasik
Memahami konsep dalam sinkronisasi
semaphore untuk proses
sinkronisasi proses
Memahami algoritma
sinkronisasi
Memahami
permasalahan critical
section
LATAR BELAKANG
Progress. Jika tidak ada suatu proses yang mengerjakan critical section dan
ada beberapa proses yang akan masuk ke critical section, maka hanya proses-
proses yang ada di entry section yang bisa mengerjakan critical section
Bounded Waiting. Ada batasan waktu tunggu ketika proses diizinkan untuk memasuki critical section
setelah proses membuat permintaan untuk memasuki critical section dan sebelum permintaan yang
diberikan.
• Diasumsikan setiap proses dieksekusi dengan kecepatan lebih dari 0
• Tidak ada asumsi mengenai kecepatan relatif proses n
SOLUSI CRITICAL SECTION PROBLEM
repeat
entry section Proses meminta ijin masuk kedalam cirtical
section
cirtical section
exit section Entry section, adalah daerah tempat
proses menunggun masuk ke critical
remainder section section
Until false
Exit Section, adalah daerah dimana suatu
proses baru saja keluar dari critical section
SINKRONISASI SOFTWARE
Pembatasan pengaplikasian
hanya pada dua proses pada
satu waktu, yaitu Pi dan Pj.
• Algoritma II
repeat
• Variabel turn diganti variable flag
flag [0] = true;
– var flag : array[0..1] of bolean
while flag[1] do no_op
• P0 menetapkan flag[i] = true, P0 siap masuk
critical section critical section
flag[0] = false; • P0 cek apakah P1 tidak masuk critical section
remainder section • Jika P1 masuk critical section, maka P0
until false menunggu sampai flag[1] = false
• Pada saat exit section P0 mengeset flag[0]
menjadi false, sehingga proses lain bisa
menggunakan critical section
SINKRONISASI SOFTWARE
• Deadlock, dua atau lebih proses menunggu tanpa kepastian suatu event yang dapat disebabkan
oleh satu proses yang sedang menunggun
• Misalnya S dan Q ada 2 semaphores yang diinisialisasi 1
Ada 3 cara Hanya 4 filosof yang duduk bersama dalam satu meja
untuk
menghindari
deadlock, Mengijinkan seorang filusuf mengambil supit hanya jika kedua supit ada
yaitu