Jumat, 10 Desember 2010

materi kelas 7 : h. monitor

Kata monitor adalah istilah Latin untuk pengingat atau penyaran. Penggunaan kata ini yang banyak ditulis di bawah.

Teknologi tampilan

  • Tampilan komputer
  • Perangkat yang mengukur kejadian listrik seperti pulsa atau tingkatan voltase dalam sebuah komputer digital.
  • monitor medis
  • pengeras suara yang digunakan di atas panggung atau di studio untuk membuat musisi dapat mendengar apa yang sedang direkam atau disebarluaskan.
  • monitor video, sebuah alat seperti televisi yang digunakan dalam studio, lab atau lingkungan tes.

Monitor


Monitor adalah suatu tipe data abstrak yang dapat mengatur aktivitas serta penggunaan resource oleh beberapa thread. Ide monitor pertama kali diperkenalkan oleh C.A.R Hoare dan Per Brinch-Hansen pada awal 1970-an.
Monitor terdiri atas data-data private dengan fungsi-fungsi public yang dapat mengakses data-data tersebut. Method-method dalam suatu monitor sudah dirancang sedemikian rupa agar hanya ada satu buah method yang dapat bekerja pada suatu saat. Hal ini bertujuan untuk menjaga agar semua operasi dalam monitor bersifat mutual exclusion.
Monitor dapat dianalogikan sebagai sebuah bangunan dengan tiga buah ruangan yaitu satu buah ruangan kontrol, satu buah ruang-tunggu-masuk, satu buah ruang-tunggu-dalam. Ketika suatu thread memasuki monitor, ia memasuki ruang-tunggu-masuk (enter). Ketika gilirannya tiba, thread memasuki ruang kontrol (acquire), di sini thread menyelesaikan tugasnya dengan shared resource yang berada di ruang kontrol (owning). Jika tugas thread tersebut belum selesai tetapi alokasi waktu untuknya sudah habis atau thread tersebut menunggu pekerjaan thread lain selesai, thread melepaskan kendali atas monitor (release) dan dipindahkan ke ruang-tunggu-dalam (waiting queue). Ketika gilirannya tiba kembali, thread memasuki ruang kontrol lagi (acquire). Jika tugasnya selesai, ia keluar dari monitor (release and exit).


Monitor

Karena masalah sinkronisasi begitu rumit dan beragam, monitor menyediakan tipe data condition untuk programmer yang ingin menerapkan sinkronisasi yang sesuai untuk masalah yang dihadapinya. Condition memiliki operasi-operasi:
  1. Wait, sesuai namanya thread yang memanggil fungsi ini akan dihentikan kerjanya.
  2. Signal, jika suatu thread memanggil fungsi ini, satu (dari beberapa) thread yang sedang menunggu akan dibangunkan untuk bekerja kembali. Operasi ini hanya membangunkan tepat satu buah thread yang sedang menunggu. Jika tidak ada thread yang sedang menunggu, tidak akan terjadi apa-apa (bedakan dengan operasi buka pada semafor).
Ilustrasi monitor dengan condition variable:


Gambar 20.2. Monitor dengan condition variable
Monitor dengan condition variable

Bayangkan jika pada suatu saat sebuah thread A memanggil fungsi signal pada condition x.signal dan ada sebuah thread B yang sedang menunggu operasi tersebut B telah memanggil fungsi x.wait sebelumnya, ada dua kemungkinan keadaan thread A dan B setelah A mengeksekusi x.signal
  1. Signal-and-Wait, A menunggu sampai B keluar dari monitor atau menunggu condition lain yang dapat mengaktifkannya.
  2. Signal-and-Continue, B menunggu sampai A keluar dari monitor atau menunggu condition lain yang dapat mengakifkannya.
Monitor dikembangkan karena penggunaan semafor yang kurang praktis. Hal itu disebabkan kesalahan pada penggunaan semafor tidak dapat dideteksi oleh compiler. Keuntungan memakai monitor:
  1. Kompilator pada bahasa pemrograman yang telah mengimplementasikan monitor akan memastikan bahwa resource yang dapat diakses oleh beberapa thread dilindungi oleh monitor, sehingga prinsip mutual exclusion tetap terjaga.
  2. Kompilator bisa memeriksa kemungkinan adanya deadlock.

Tidak ada komentar:

Posting Komentar