Modul ke:
06
Ilmu Komputer
Fakultas
Sinkronisasi
Program Studi
Informatika
www.mercubuana.ac.id
Pendahuluan
• Sinkronisasi proses
– Mengacu pada gagasan bahwa banyak proses yang
nantinya, pada titik tertentu, akan bergabung atau
berjabat tangan, dalam rangka untuk mencapai
kesepakatan atau komitmen untuk suatu urutan
tindakan tertentu.
• Sinkronisasi data
– Mengacu pada gagasan menjaga beberapa salinan
dari dataset dalam koherensi dengan satu sama
lain, atau untuk menjaga integritas data.
Thread atau Proses Sinkronisasi
• Deadlock
• Starvation
• Priority inversion
Perangkat Sinkronisasi
• Manfaat Sinkronisasi
– Sebagai penyimpanan data sementara dan non
sementara agar dapat mempermudah pekerjaan.
• Tujuan Sinkronisasi
– 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.
Problem Klasik pada Sinkronisasi
• Race Condition
– Adalah situasi dimana beberapa proses mengakses
dan memanipulasi suatu data secara konkuren.
Nilai akhir dari data tersebut tergantung dari
proses mana yang terakhir selesai dieksekusi.
Untuk menghindari terjadinya situasi tersebut,
semua proses yang dapat mengakses suatu data
tertentu harus disinkronisasi
Masalah yang Timbul Sinkronisasi
tdk Dilakukan
• Critical Section
– Critical Section merupakan suatu kode segmen dari
proses-proses yang memungkinkan terjadinya Race
Condition. Suatu system terdiri dari banyak proses
dimana semuanya berlomba-lomba pada saat yang
sama untuk menggunakan data yang sama.
Solusi Critical Section
• Mutual Exclusion
– Tidak ada dua proses yang berada di critical
section pada saat yang bersamaan.
• Progress
– Jika tidak ada proses yang sedang berada di critical
section, maka proses lain yang ingin menjalankan
critical section dapat masuk kedalam critical
section tersebut.
• Bounded Waiting (Batas waktu tunggu)
Jenis Solusi Masalah Critical Section
• Interupsi
– Interupsi merupakan pusat pada sistem operasi,
yang menyediakan cara efisien bagi sistem operasi
untuk berinteraksi terhadap lingkungannya.
Pemrograman berbasis interupsi secara langsung
didukung hampir dengan seluruh CPU modern.
• Page Fault
– Page fault merupakan exception untuk permintaan
alokasi page ke memori. Dalam konteks memori
maya, page fault sering disingkat fault.
Kondisi Menghasilkan Solusi Baik