Critical Region Dan Monitor

4.6. Critical Region Dan Monitor

4.6.1. Latar Belakang

Sejauh ini, kita telah mengenal semafor sebagai perangkat keras sinkronisasi yang ampuh, lalu mengapa kita membutuhkan bahasa pemrograman untuk melakukan sinkronisasi? Alasan yang sederhana adalah karena ternyata implementasi semafor memiliki beberapa kelemahan. Kelemahan yang pertama adalah kenyataan bahwa semafor memerlukan implementasi di tingkat rendah, sesuatu hal yang kompleks untuk dilakukan kebanyakan orang. Bahasa pemrograman lebih mudah untuk dipelajari dan diimplementasikan. Kode semafor terdistribusi dalam seluruh program sehingga menyulitkan pemeliharaan. Hal ini merupakan kelemahan lain dari semafor. Sehingga jelas tampaknya, bahwa kita memerlukan konstruksi tingkat tinggi yang dapat mengatasi atau paling tidak mengurangi kelemahan-kelemahan yang terdapat dalam semafor.

4.6.2. Critical Region

Critical region adalah bagian dari program dan diamanatkan untuk selalu berada dalam keadaan mutual exclusion. perbedaan critical region ini dengan mutual exclusion biasa yang dibahas sebelumnya adalah critcal Critical region adalah bagian dari program dan diamanatkan untuk selalu berada dalam keadaan mutual exclusion. perbedaan critical region ini dengan mutual exclusion biasa yang dibahas sebelumnya adalah critcal

4.6.2.1. Cara Kerja Critical Region

Pada critical region memiliki sebuah komponen boolean yang mentest apakah bagian dari program boleh masuk kedalam state critical region atau tidak. jika nilai boolean ini true maka proses boleh masuk ke critical region. jika boolean ini bernilai false bagian yang ini akan dimasukan kedalam sebuah antrian sampai nilai boolean ini bernilai true.

Dalam critical region dikenal ada 2 antrian: main queue dan event queue. main queue berfungsi untuk menampung proses yang akan memasuki critical region hanya saja critical region masih digunakan oleh proses lain. event queue berguna untuk menampung proses yang tidak dapat memasuki critical region karena nilai boolennya bernilai false.

4.6.3. Monitor

Konsep monitor diperkenalkan pertama kali oleh Hoare (1974) dan Brinch Hansen (1975) untuk mengatasi beberapa masalah yang timbul ketika memakai semafor.

Monitor merupakan kumpulan dari prosedur, variabel, dan struktur data dalam satu modul. monitor hanya dapat diakses dengan menjalankan fungsinya. kita tidak dapat mengambil variabel dari monitor tanpa melalui prosedurnya. hal ini dilakukan untuk melindungivariabel dari akses yang tidak sah dan juga mengurangi terjadinya error.

Monitor mungkin bisa dianalogikan dengan sebuah sekretariat didalam sebuah fakultas. dengan sekretariat sebagai suatu monitor dan mahasiswa,dosen sebagai proses. dan informasi akademik( jadwal, nilai, jadwal dosen etc) sebagai variabel. kila seorang mahasiswa ingin mengambil transkip nilainya dia akan meminta kepada petugas sekretariat daripada mengambilnya sendiri dan mencarinya sendiri, berapa besar kemungkinan kerusakan yang bisa ditimbulkan dengan mengambilnya secara langsung?.jika meminta kepada petugas sekretariat maka petugas akan melakukan berbagi kegiatan untuk memberikan transkip. dan kerusakan terhadap terhadap dokumen lain bisa dihindari.

4.6.3.1. Keterbatasan Monitor

Karena monitor berkaitan dengan konsep bahasa pemrograman sehingga kompiler bertanggung-jawab untuk mengkondisikan monitor sebagai mutual eksklusif. Namun, pada kenyataannya tidak semua kompiler dapat menerapkan peraturan mutual eksklusif seperti yang dibutuhkan oleh Monitor tersebut. Mungkin bahasa pemrograman yang sama juga tidak memiliki semafor, tetapi menambahkan semafor jauh lebih mudah.

jika dianalogikan lagi dengan sekretariat akademik fakultas. ambil contoh kasus penjadwalan ulang ujian untuk seorang mahasiswa. dalam proses ini sekretariat tidak mampu langsung memberikan jadwal ulang tetapi perlu bantuan mahasiswa tersebut untuk menghubungi dosen yang bersangkutan, dosen perlu untuk membuat soal yang baru,mahasiswa mungkin perlu mengurus ijin ke pembantu dekan 1,etc.

Dokumen yang terkait

ANALISIS EFISIENSI PEMASARAN DAN PENDAPATAN USAHATANI ANGGUR (Studi Kasus di Kecamatan Wonoasih Kotamadya Probolinggo)

52 472 17

Studi Kualitas Air Sungai Konto Kabupaten Malang Berdasarkan Keanekaragaman Makroinvertebrata Sebagai Sumber Belajar Biologi

23 176 28

ANALISIS KOMPARATIF PENDAPATAN DAN EFISIENSI ANTARA BERAS POLES MEDIUM DENGAN BERAS POLES SUPER DI UD. PUTRA TEMU REJEKI (Studi Kasus di Desa Belung Kecamatan Poncokusumo Kabupaten Malang)

23 307 16

PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere

17 165 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)

59 326 21

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25

STRATEGI PUBLIC RELATIONS DALAM MENANGANI KELUHAN PELANGGAN SPEEDY ( Studi Pada Public Relations PT Telkom Madiun)

32 284 52

FAKTOR-FAKTOR PENYEBAB ORANG TUA MENIKAHKAN ANAK PEREMPUANYA PADA USIA DINI ( Studi Deskriptif di Desa Tempurejo, Kecamatan Tempurejo, Kabupaten Jember)

12 105 72