Anda di halaman 1dari 15

NAMA : NATALIA BUTAR BUTAR

NPM : 21120015

SINKRONISASI
Apa itu Sinkronisasi ?
Sinkronisasi adalah proses pengaturan jalannya
beberapa proses pada saat yang bersamaan,
mengakses data, memanipulasi data yang sama,
untuk saling bertukar data agar memiliki jumlah
data yang sama.
Tujuan utama sinkronisasi

Untuk menghindari terjadinya inkonsitensi data karena


pengaksesan oleh beberapa proses yang berbeda
(mutual exclusion) serta untuk mengatur urutan jalannya
proses-proses sehingga dapat berjalan dengan lancar dan
terhindar dari deadlock dan starvation. Tujuan utama
mungkin lebih condong ke arah back-up (membuat
cadangan).
Masalah masalah jika sinkronisasi tidak
berjalan dengan baik

1.Race condition
2.Critical selection
1. Race condition
situasi di mana beberapa proses mengakses dan
memanipulasi data bersama pada saat bersamaan.
Nilai akhir dari data bersama tersebut tergantung
pada proses yang terakhir selesai. Untuk
mencegah race condition, proses-proses yang
berjalan bersamaan harus di disinkronisasi.
Contoh race condition
Pada program di bawah ini, terlihat bahwa terdapat
variabel counter yang diinisialisasi dengan nilai 0,
dan ditambah 1 setiap kali terjadi produksi serta
dikurangi 1 setiap kali terjadi konsumsi.
2. Critical selection
adalah sebuah segmen kode di mana sebuah proses yang
mana sumber daya bersama diakses.
Bagian Critical selection :
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.
Solusi Problem Critical-Section
(1)
4 kondisi solusi yang baik :
1.Tidak ada dua proses secara bersamaan
masuk ke dalam critical section.
2.Tidak ada asumsi mengenai kecepatan
atau jumlah CPU.
3.Tidak ada proses yang berjalan di luar
critical section yang dapat mem-blok
proses lain.
4.Tidak ada proses yang menunggu
selamanya untuk masuk critical section.
Solusi Problem Critical-Section
(2)
Solusi “critical section problem” harus memenuhi:
1. Mutual Exclusion:
Jika proses Pi sedang “eksekusi” pada bagian “critical section”
(dari proses Pi) maka tidak ada proses proses lain dapat “eksekusi”
pada bagian critical section dari proses-proses tersebut.

2. Progress(kemajuan proses):
Jika tidak ada proses sedang eksekusi pada critical section-nya dan
jika terdapat lebih dari satu proses lain yang ingin masuk ke critical
section, maka hanya proses-proses yang sedang berada pada entry
section saja yang boleh berkompetisi untuk mengerjakan critical
Section

3. Bounded Waiting (batasan waktu tunggu):


Terdapat batasan berapa lama suatu proses harus menunggu giliran
untuk mengakses “critical section”
Pendekatan yang mungkin untuk solusi
proses sinkronisasi
Solusi Piranti lunak (Software solution)
1. High-level primitives: monitors
2. Low-level primitives: semaphore
1. Monitor
• Monitor adalah kumpulan prosedur, variabel dan
struktur data di satu modul atau paket khusus. Proses
dapat memanggil prosedur-prosedur kapan pun
diinginkan. Tapi proses tak dapat mengakses struktur
data internal dalam monitor secara langsung. Hanya
lewat prosedur-prosedur yang dideklarasikan monitor
untuk mengakses struktur internal.

• Monitor menyediakan fasilitas mutual exclusion.


Variabel-variabel data dalam monitor hanya dapat
diakses oleh satu proses pada satu saat
2. Semaphore
Prinsip bahwa dua proses atau lebih dapat bekerja
sama dengan menggunakan penanda-penanda
sederhana. Seperti proses dapat dipaksa
berhenti pada suatu saat, sampai proses
mendapatkan penanda tertentu itu. struktur
penanda yang cocok untuk kebutuhan proses
tersebut. Variabel khusus untuk penanda ini
disebut semaphore.

Semaphore mempunyai dua sifat, yaitu:


1. Semaphore dapat diinisialisasi dengan nilai
non-negatif.
2. Terdapat dua operasi terhadap semaphore,
yaitu operasi Down dan operasi Up.
Kesimpulan
Sinkronisasi adalah proses pengaturan jalannya
beberapa proses pada saat yang bersamaan,dan mengakses
data yang sama, untuk saling bertukar data, memanipulasi
data agar memiliki jumlah data yang sama.

Masalah dalam sinkronisasi


yang dialami Sinkronisasi sangat beragam. Solusi nya pun
juga banyak. Akan tetapi kita harus jeli mengenali
masalahnya dan apa cara yang paling tepat untuk
mengatasi masalah dalam Sinkronisasi tersebut.
Daftar Pustaka
https://theresialulu95.wordpress.com/tag/semaphore/
https://academia .edu/sistemoperasi
https://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/
SistemOperasi-4.X-1/ch17s07.html
http://www.slideshare.net/jahrataqim/ppt-sinkronisasi-
dalam-sistem-operasi
SEKIAN DAN TERIMAKASIH

Anda mungkin juga menyukai