Sinkronisasi Proses
Sinkronisasi adalah mekanisme pengaturan jalannya beberapa proses yang terjadi pada saat yang bersamaan umumnya karena mengakses share resources (contoh mengakses printer atau file yang sama) atau hal ini dapat dikatakan sebagai proses konkuren yang saling berinteraksi. Tujuan atau fungsi utama dari sinkronisasi yaitu untuk menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) dengan cara mengatur urutan jalannya proses-proses tersebut agar dapat berjalan baik sesuai dengan apa yang diharapkan dan terhindar dari race codition, deadlock atau starvation.
Gambar Contoh Program Sinkronisasi.
(Sumber: https://evileg.com/en/post/427/, 2018)
Instruksi atau operasi yang bersifat atomik adalah instruksi atau operasi yang tidak dapat diinterupsi karena satu kesatuan (group) dan memiliki karakteriktik pengeksekusiannya dilakukan secara sekuensial. Instruksi atomik ini dapat digunakan untuk memecahkan masalah critical section. Contoh instruksi atomik seperti TestAndSet();, sedangkan untuk contoh operasinya seperti initialize, increment, dan decrement. Instruksi atomik ini harus dijalankan seluruhnya atau tidak sama sekali.
Artikel Terkait
Karna pembahasan sistem operasi sangat kompleks, maka kita akan membaginya menjadi beberapa bagian, untuk sementara berikut beberapa artikel lainnya yang terkait atau berhubungan dengan pembahasan ini.
- 1 Gambaran Sistem Operasi - Komponen & Fungsi
- 1.1 Apa Yang Dikerjakan Sistem Operasi
- 1.2 Organisasi Sistem Komputer
- 1.3 Arsitektur Sistem Komputer
- 1.4 Struktur Sistem Operasi
- 1.5 Operasi Sistem Operasi - Trap Exception
- 2 Proses & Thread
- 3 Konkurensi: Mutual Exclusion dan Sinkronisasi
Referensi
- Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
- Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.
Warning!
We are not responsible for any loss whatsoever due to this site, also if you want to take this article please read terms of use or touch us via contact page.
If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.
Be the first :D