SINKRONISASI DATA
Apa itu Sinkronisasi ? kenapa Sistem
Operasi Membutuhkan Sinkronisasi? Seperti kita ketahui bahwa hidup saling
berkaitan satu sama lain, begitu juga Sinkronisasi Pada Sistem Operasi. Hal ini
jika tidak ada penopang dalam menjalankan suatu sistem, maka akan menemui suatu
kendala yang berakibat ketidakkonsistenan pada data, sehingga data tidak
menjadi konkuren.
Pengertian dari Sinkronisasi adalah Akses bebarengan untuk
berbagi dua bersama dapat mengakibatkan inkosistensi data. Pemeliharaan
konsistensi data memerlukan mekanisme untuk memastikan eksekusi dari proses
kerjasama.
Tujuan dari sinkronisasi itu sendiri
ialah untuk menghindari terjadinya inkonsitensi data karena pengaksesan
oleh beberapa proses yang berbeda serta untuk mengatur urutan jalannya
proses-proses sehingga dapat berjalan dengan baik dan sesuai apa yang di
harapkan.
Masalah pada Sistem Operasi
Sinkronisasi bisa terdapat dari masalah lainnya, seperti Masalah Race Condition & Critical
Section.
- Arti dari Race Conditon adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan.
- Arti dari masalah Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses
Critical Section mempunyai beberapa
kode :
- Entry Section : kode yang digunakan untuk masuk ke dalam critical section
- Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu.
- Exit Section: akhir dari critical section, mengizinkan proses lain.
- Remainder Section : kode istirahat setelah masuk ke critical section.
Kunci untuk mencegah masalah ini dan
di situasi yang lain yang melibatkan shared memori, shared berkas, and shared
sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari
satu proses untuk melakukan proses writing dan reading kepada shared data pada
saat yang sama.
Bagaimana pun setiap kali sebuah
proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang
kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed
memory diakses disebut Critical Section atau Critical Region. Walau pun dapat
mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar
proses secara pararel dengan baik dan efisien dalam menggunakan shared data,
kita butuh 4 kondisi agar menghasilkan solusi yang baik yakni :
- Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
- Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
- Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
- Tidak ada proses yang menunggu selamamya untuk masuk critical section.
Solusi untuk mengatasi masalah
Critical Section, yaitu:
- Mutual exclution : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.
- Progress : 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 bias ditunda.
- Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.
Mungkin itu saja yang dapat saya
berikan, info ini saya dapat dari berbagai sumber, jika masih ada kekurangan
silahkan anda searching kembali tentang Sinkronisasi Pada Sistem Operasi.
Semoga bisa memberi bermanfaat untuk anda, terimakasih...
Share this article :
0 komentar:
Posting Komentar