SINKRONISASI DAN DEADLOCK
1.
Sinkronisasi
Yaitu
pengaturan jalannya beberapa proses pada saat yang sama.
Latar belakang :
a. Akses bersamaan terhadap data yang sama menyebabkan
data tidak konsisten.
b. Adanya mekanisme untuk memastikan permintaan
eksekusi dari proses yang bekerja.
c. Adanya Race Condition yaitu situasi dimana proses
mengakses dan memanipulasi data yang sama dalam waktu yang bersamaan.
d. Menghindari Race Condition.
Masalah dalam sinkronisasi :
1. Problem Reader-Writers
Yaitu mengakses langsung pada database jika ada
proses yang sedang membaca atau menulis kedatabase maka proses lain tidak boleh
mengakses database.
2. Problem Dinink Philosopers
Yaitu menunggu proses untuk beberapa waktu.
3. Problem Bounded Buffer
Yaitu beberapa proses ditampung dalam sebuah wadah
dengan ukuran yang tetap
4.
Deadlock
Yaitu
pemberhentian proses sementara karena adanya beberapa proses yang sedang
berjalan tidak ada yang mengalah.
Penyebab
Deadlock :
a.
Mutual Exclution
Yaitu
sumber daya hanya digunakan untuk satu proses saja.
b.
Hold and wait
Yaitu
proses yang sedang berjalan diijinkan menggunakan sumber daya yang lain.
c.
Non Preempitive
Yaitu
sumber daya yang digunakan dapat ditunda oleh proses lain yang sedang berjalan.
d.
Circular wait
Yaitu
beberapa proses yang saling meminta sumber daya yang sama.
Mengatasi
Deadlock
a.
Dengan
pendekatan yaitu :
®
Membiarkan Deadlock
®
Memastikan sistem
bahwa Deadlock tidak akan terjadi
®
Mengabaikan Deadlock
b.
Dengan metode
yaitu :
®
Mencegah
Deadlock
®
Menghindari
Deadlock
®
Memulihkan
Deadlock
®
Mendeteksi
Deadlock
c.
Dengan strategic
®
Strategic
Ostrich (strategi burung unta)
Yaitu
mengabaikan Deadlock dan menganggap Deadlock tidak terjadi
®
Strategic Bankir
(strategi memetakan kota kecil)
Yaitu sumber
daya yang digunakan harus dikembalikan terlebih dahulu baru bias digunakan oleh
proses lain.



0 komentar:
Posting Komentar