Jumat, 28 November 2014

Mutex (Mutual Exclusion)


     Mutex adalah sesuatu yang dibutuhkan untuk memastikan tidak ada proses lain yang menjalankan critical section ketika ada proses lain yang sedang menjalankan. Jadi secara singkat, Mutex bisa dianggap sebagai kunci (lock) dari suatu proses agar tidak disela oleh proses lain.

     Mekanisme dari mutex sendiri adalah :

  • Menggunakan hardware (disable/enable interrupt)
  • Menggunakan software (software object / variabel)
     Berikut adalah contoh penggunaannya :

     mutex_lock(kunci);
     scanf (variabel);
     printf(variabel);
     mutex_unlock(kunci);

     mutex_lock(kunci) adalah fungsi untuk mengaktifkan mutex dengan nama variabel kunci, dan kemudian kita bisa menuliskan kode program yang tidak ingin disela tersebut (disebut dengan critical section). Lalu setelah itu kita memanggil mutex_unclok(kunci) yaitu untuk menonaktifkan mutex dengan nama variabel kunci.

     Kesalahan penggunaan pada mutex dapat mengakibatkan :
  • Starvartion : yaitu situasi di mana suatu proses tidak pernah dijalankan oleh prosesor
  • Deadlock : yaitu situasi di mana dua atau lebih proses tidak dapat berjalan karena saling menunggu resources dari masing-masing proses

0 komentar:

Posting Komentar