Assalamualaikum wr.wb
Kali ini saya akan mencoba menjelaskan mengenai sinkronisasi yang ada pada sebuah sistem operasi,
Race Condition: Keadaan dimana lebih dari satu proses meng-update data secara “concurrent” dan hasilnya sangat bergantung dari urutan proses mendapat jatah CPU (run).
Untuk menghindari Race Condition, proses-proses secara bersamaan harus disinkronisasikan .
Untuk menghindari Race Condition, proses-proses secara bersamaan harus disinkronisasikan .
Sinkronisasi diperlukan untuk menghindari terjadinya ketidakkonsistenan data akibat adanya akses data secara konkuren (Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama)
Untuk menjaga kekonsistenan data tersebut, diperlukan adanya suatu mekanisme untuk memastikan urutan pengaksesan suatu data yang saling bekerjasama sehingga terjadi sinkronisasi
Ada
tiga hal problem klasik pada sinkronisasi Yaitu :
1. Problem Bounded buffer
Proses yang kooperatif bisa berbagi data melalui penukaran
pesan. Pesan-pesan yang dikirim antar proses akan disimpan dalam sebuah antrian
sementara, yaitu buffer. Jika kapasitas buffertersebut terbatas, maka dia
disebut bounded-buffer. Untuk mencegah inkonsistensi data yang terjadi akibat
akses data oleh proses kooperatif yang berjalan secara konkuren, maka
diperlukan sinkronisasi antar proses-proses tersebut.
2. Problem Reades and Writer
Readers/Writers merupakan sebuah masalah klasik dalam
contoh sinkronisasi untuk menjaga validitas data. Jika reader sedang mengakses
data, reader-reader yang lain boleh ikut mengakses data, tapi writer harus
menunggu sampai data tidak diakses siapapun. Jika writer sedang mengakses data,
tidak boleh ada thread lain yang mengakses data. Semaphore digunakan untuk
sinkronisasi antar thread (baik readers maupun writers).
Problem readers-writer adalah problem yang
memodelkan proses yang mengakses database.
Sebagai contoh sebuah sistem pemesanan sebuah perusahaan
penerbangan, dimana banyak proses berkompetisi berharap untuk membaca (read) dan menulis (write).
3. Problem Dining Philosophers.
Program ini menggunakan sebuah array dari semaphore yang
dapat ditahan
0 komentar:
Posting Komentar