Permasalahan Klasik dalam Sinkronisasi
Sinkronisasi
Ketika mempelajari ilmu komputer, pastinya kita akan menemukan bagian yang membahas tentang sinkronisasi. Sinkronsasi ini mengacu pada salah satu dari dua proses yang berbeda tetapi saling berkaitan satu sama lainya. Dua proses ini merupakan sinkronisasi data dan sinkronisasi proses. Inti dari permasalahan sinkronisasi ini nantinya akan mengacu pada sebuah gagasan yang didalmanya terdapat banyak proses yang pada titik tertentu akan beretemu, bergabung dalam rangka untuk mencapai sebuah kesepakatan ataupun komitmen untuk suatu urutan tindakan tertentu. Sinkronisasi ini mengacu pada gagasan yang menjaga beberapa salinan dari data set yang ada dalam koherensi antara satu sama lain.
Jadi sinkronisasi adalah suatu proses secara bersama sama dan saling berbagi data bersama dapat mengakibatkan race condition atau inkonsistensi data.
Race Condition adalah kondisi dimana dua atau lebih proses mengakases sumber daya secara bersama sama.
Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data, karena pengkasesan oleh beberapa proses yang berbeda (mutual exclution), serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar serta terhindar dari deadlock atau starvation. Manfaat sinkronisasi yaitu sebagai penyimpanan data sementara dan non sementara agar dapat mempermudah pekerjaan.
Masalah pada sinkronisasi terdapat dari masalah lainnya, seperti masalah Race Condition dan Critical Section.
Race Condition, merupakan suatu kondisi dimana dua atau lebih proses mengakses sumber daya secara bersama sama. Situasi yang tidak menentu kaibat beberapa proses mengakses dan memanipulasi data secara bersamaan.
Cara menghindari Race Condition yaitu, jika suatu proses sedang menjalankan Critical Secetion, maka proses lain tidak bisa masuk kedalam Critical Section tersebut.
Critical Section, merupakan suatu kode segmen dari proses-proses yang memungkinkan terjadinya Race Condition.
Kode-kode dalam Critical Section :
- Entry Section, kode yang difungsikan untuk masuk kedalam Critical Section
- Critical Seecetion, dimama kode ini hanya ada dalam satu proses yang dapat dieksekusi pada satu waktu
- Exit Section, akhir dari Critical Section, dan mengizinkan proses lain
- Remainder Section, kode istirahat setelah masuk ke proses Critical Section
- Terjadinya kemajuan (Progress / Queue), jika tidak ada proses yang sedang dieksekusi dalam Critical Section dan ada beberapa proses yang ingin masuk ke Critical Section mereka, maka pemilihan proses yang akan masuk ke Critical Section berikutnya tidak bisa ditunda.
- Mutual Exclusion, jika ada suatu proses sedang mengeksekusi Critical Section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam Critical Section mereka.
- Adanya batas waktu tunggu (Bounded Waiting), suatu keterikatan harus ada pada sejumlan proses yang diijinkan masuk ke Critical Section mereka, setelah adanya proses yang meminta masukke Critical Section dan sebelum permintaan itu diterima.
- Bounded-Buffer Problem
- Mutex, digunakan untuk menjamin hanya boleh satu proses yang berjalan mengakses buffer pada suatu waktu, awalnya diinisialisasi sebesar satu (1)
- Full, digunakan untuk menghitung jumlah buffer yang berisi, yang pada awalnya diinisialisasi sebesar nol (0)
- Empty, digunkan untuk menghitung jumlah buffer yang kosong, yang awalnya diinisialisasi sebesar ukuran buffer
- Dining-Philosophers Problem
- Readers and Waiters problem
- Jika terdapat satu proses menulis (mengubah) basis data, proses lain tidak boleh mengakses basis data, baik membaca atau menulis. Pada masalah ini, writers memiliki prioritas yang lebih tinggi daripada readers. Jika ada writers yang sedang menunggu, maka tidak boleh ada reader lain yang bekerja. Writers akan memblok semua proses reading oleh readers dan melakukan proses writing. Ketika proses writing selesai, maka proses reading dapat dilanjutkan kembali oleh reader.
- Jika ada reader yang datang ketika reader lain sedang membaca dan sebuah writer sedang menunggu, maka reader yang baru datang tersebut akan langsung mendapat giliran untuk membaca. Writer akan ditunda pengerjaannya.
- gurupendidikan.co.id - Pengertian Sinkronisasi Sistem Operasi Lengkap
- lydia-wijaya-fst13.web.unair.ac.id - LYDIA WIJAYA
- stessedout.blogspot.com - Masalah Klasik Sinkronisasi






Komentar
Posting Komentar