Selasa, 28 Februari 2012

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-datatersebut.
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 semuaoperasi dalam monitor bersifat
mutual exclusion
.Monitor dapat dianalogikan sebagai sebuah bangunan dengan tiga buah ruangan yaitu satu buahruangan 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 waktuuntuknya 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).

Tidak ada komentar:

Posting Komentar