Anda di halaman 1dari 1

Critical section adalah segmen dalam suatu proses yang memungkinkan modifikasi variabel bersama,

pengubahan tabel, penulisan atau pengeditan berkas, dan tindakan serupa. Apabila beberapa proses
menjalankan bagian kritisnya secara bersamaan di lokasi yang sama, akan mengakibatkan "race
condition," yang pada gilirannya dapat menyebabkan ketidak-konsistenan data. Oleh karena itu, penting
untuk menerapkan sinkronisasi guna menangani isu-isu yang muncul dalam critical section ini.

Permasalahan yang timbul akibat critical section antara lain adalah race condition, deadlock, and
starvation. Race conditions terjadi ketika dua lebih thread atau proses bersaing untuk mengakses critical
segments secara bersamaan. Hasil akhirnya program, dan bervariasi tergantung dalam urutan eksekusi
prose atau tersebut. Deadlock terjadi ketika dua atau lebih thread atau proses saling menunggu untuk
mengakses sumber daya yang sedang digunakan oleh critical section. Akibatnya, program terjebak
dalam keadaan yang tidak dapat diselesaikan. Starvation terjadi ketika satu atau lebih thread atau
proses terus-menerus diabaikan atau tidak mendapatkan akses ke critical section. Hal ini dapat
mengakibatkan kinerja yang buruk atau tidak adil dalam sistem paralel.

Dalam mengatasi masalah critical section, dapat digunakan teknik sinkronisasi yang memastikan bahwa
hanya satu thread atau proses yang dapat mengakses critical section pada satu waktu. Hal ini dilakukan
untuk mencegah terjadinya race condition dan memastikan konsistensi hasil program. Beberapa teknik
sinkronisasi yang sering digunakan mencakup mutex, semaphore, dan monitor. Mutex adalah suatu
objek yang dapat dikunci dan dibuka oleh thread atau proses yang menggunakannya. Hanya thread atau
proses yang memiliki kunci mutex yang diizinkan untuk mengakses critical section. Semaphore
merupakan variabel integer yang digunakan untuk menunjukkan jumlah sumber daya yang tersedia.
Thread atau proses harus menunggu hingga nilai semaphore menjadi positif sebelum diizinkan untuk
mengakses critical section, dan setelah selesai, mereka mengurangi nilai semaphore. Monitor adalah
struktur data abstrak yang menyediakan operasi untuk masuk dan keluar dari critical section, serta
variabel kondisi yang digunakan untuk menangani situasi-situasi khusus dalam sinkronisasi. Dengan
menerapkan teknik sinkronisasi ini, kita dapat mengatur akses ke critical section dengan aman dan
menghindari konflik yang dapat merusak konsistensi program.

sumber referensi : BMP MSIM 4201 /MODUL 4

(6) Sinkronisasi Proses (Sistem Operasi) | Marisha Ayuardini - Academia.edu

Critical Section Problem (tutorialspoint.com)

Anda mungkin juga menyukai