Critical Section dan Solusi dari Critical Section

0
63

Penjelasan Sinkronisasi

Apa yang anda ketahui tentang sinkronisasi? mengapa singkronisasi dibutuhkan? Jawaban nya
Seperti yang telah kita ketahui bahwa proses dapat bekerja sendiri (independent process) dan juga dapat bekerja bersama proses-proses yang lain (cooperating process). Pada umumnya ketika proses saling bekerjasama (cooperating process) maka proses-proses tersebut akan saling berbagi data. Pada saat proses-proses berbagi data, ada kemungkinan bahwa data yang dibagi secara bersama itu akan menjadi tidak konsisten dikarenakan adanya kemungkinan proses-proses tersebut melakukan akses secara bersamaan yang menyebabkan data tersebut berubah, hal ini dikenal dengan istilah Race Condition.

Cara menghindari race condition

Melibatkan memori bersama, berkas bersama atau sumber daya yang digunakan bersama sama? Jawaban :
menemukan jalan untuk mencegah lebih dari satu proses melakukan proses tulis/baca pada data/berkas pada saat yang bersamaan. Dengan kata lain, kita membutuhkan

Mutual Exclusion

menggunakan variabel atau berkas yang sama, maka proses lain akan dikeluarkan dari pekerjaan yang sama. Biasanya sebuah proses akan sibuk melakukan perhitungan internal dan hal-hal lainnya tanpa ada bahaya yang menuju ke race condition. Akan tetapi, beberapa proses memiliki suatu segmen kode dimana jika segmen itu dieksekusi, maka proses-proses itu dapat saling mengubah variabel, mengupdate suatu tabel, menulis ke suatu file, dan lain sebagainya, dan hal ini dapat membawa proses tersebut ke dalam bahaya race condition. Segmen kode yang seperti inilah yang disebut Critical Section.

solusi masalah critical section

Ada 2 jenis solusi masalah critical section, yaitu
a. Solusi perangkat lunak
b. Solusi perangkat keras
Jawaban :
a. Solusi perangkat lunak, menggunakan algoritma-algoritma yang nilai kebenarannya tidak tergantung pada asumsi lain, selain bahwa setiap proses berjalan pada kecepatan yang bukan nol.
b. Solusi perangkat keras, tergantung pada beberapa instruksi mesin tertentu, misalnya dengan menon-aktifkan interupsi atau dengan mengunci suatu variabel tertentu.

INFO BARU :  Kumpulan Materi Mekanik Otomotif Untuk Sekolah Menengah Kejuruan

Solusi dari critical section memenuhi syarat mutual exclusion terjadi kemajuan (progress) dan ada batas waktu tunggu (bounded waiting).Jelaskan!

Jawaban :

Mutual exclusion

Mutual exclusion merupakan sebuah jalan yang menjamin jika sebuah proses sedang menggunakan variabel atau berkas yang digunakan bersama-sama, proses lain akan dikeluarkan dari pekerjaan yang sama.Terjadi kemajuan (progress) Jika tidak ada proses yang sedang menjalankan critical section-nya dan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang tidak sedang menjalankan remainder section-nya yang dapat berpartisipasi dalam memutuskan siapa yang berikutnya yang akan masuk ke critical section, dan pemilihan siapa yang berhak masuk ke critical section ini tidak dapat ditunda secara tak terbatas (sehingga tidak terjadi deadlock).

Ada batas waktu tunggu (bounded waiting). Jika seandainya ada proses yang sedang menjalankan critical section, maka terdapat batasan waktu berapa lama suatu proses lain harus menunggu giliran untuk mengakses critical section. Dengan adanya batas waktu tunggu akan menjamin proses dapat mengakses ke critical section (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses kecritical  section diperbolehkan).

TINGGALKAN KOMENTAR

Please enter your comment!
Please enter your name here