Sinkronisasi Sistem Operasi



Sinkronisasi adalah suatu proses yang bekerja bersama-sama dan saling berbagi data sehingga dapat mengakibatkan race condition atau pengaksesan data secara bersama-sama.

Sinkronisasi itu diperlukan untuk menghindari terjadinya ketidakkonsistenan data akibat adanya akses data secara konkuren.

Jika sinkronisasi tidak diterapkan, maka akan menimbulkan:

1. Bounded buffer: Pesan-pesan yang dikirim antar proses akan disimpan dalam sebuah antrian sementara, yaitu buffer. Jika kapasitas buffer tersebut terbatas, maka disebut bounded-buffer.

2. Race condition: situasi dimana beberapa proses mengakses dan memanipulasi suatu data secara konkuren.

Perangkat Sinkronisasi

1. Instruksi TestAndSet().
    instruksi atomik yang dapat digunakan untuk menangani masalahcritical section.

2. Semafor.
sebuah variabel yang hanya dapat diakses oleh dua buah operasi standar yaituincrement dan decrement. Dua buah jenis semafor, yaitu Binary Semaphore dan Counting Semaphore. Semafor berfungsi untuk menangani masalah critical section, mengatur alokasiresource, dan sinkronisasi antarproses.

3. Monitor.
digunakan untuk menangani masalah yang muncul karena pemakaian semafor. Monitor menjamin mutual exclusion. Untuk menangani masalah sinkronisasi yang lebih rumit monitor menyediakan condition variable.

4. JVM.
mengimplementasikan monitor. Monitor JVM bekerja dengan object locking danmethodmethod wait() serta notify(). Monitor JVM dapat digunakan dengan menggunakan keyword synchronize.
Previous
Next Post »