Langsung ke konten utama

Classical Problems Of Synchronization

Classical Problem

Terdapat model permasalahan serta solusi yang ada dalam sinkronisasi antara lain Bounded Buffer Problems, Reader and Writers Problems dan Diving Philosopher Problems, yang akan dibahas dibawah ini.

1. Bounded Buffer Problems

       Bounded Buffer merupakan struktur data yang dapat menyimpan / menampung beberapa nilai dan dapat dikeluarkan ketika dibutuhkan namun nilai yang dapat disimpan itu terbatas. Proses - proses yang ada didalamnya berjalan secara bersamaan dan untuk dapat mengakses data yang sama. Masalah Bounded Buffer ini juga di umpamakan sebagai permasalahan produsen konsumen, dimana produsen bertugas untuk memasukkan nilai dan menghasilkan data kemudian secara bersamaan konsumen juga mengeluarkannya dari Buffer/ penyimpanan. Masalah yang dihawatirkan muncul adalah ketika ada  dua proses berbeda yang dilakukan dalam waktu bersamaan.
         Maka yang dapat dilakukan untuk menyelesaikan permasalahan tersebut adalah salah satu proses akan memberi nilai pada buffer dan mengisi buffer tersebut(proses ini disebut produsen), proses yang lain akan membaca nilai dan mengosongkan buffer tersebut(proses ini disebut consumen). Perhatikan gambar dibawah ini, dalam gambar ini menjelaskan tentang proses Bounded Buffer atau Prosuden konsumen.

Bounded Buffer Pictuce


Dapat disimpulkan bahwa dalam pemasalahan Bounded Buffer adalah bisa dengan diasumsikan Produsen menghasilkan nilai dan konsumen menggunkan nilai tersebut. Namun ada batasan yang harus dipenuhi untuk Bounded Buffer Problems yaitu antara lain :
a. Nilai yang dihasilkan produsen terbatas
b. Nilai yang dapat digunakan oleh konsumen pun terbatas
c. Konsumen hanya diperkenankan menggunakan nilai yang ada setelah produsen memasukkan nilai dalam buffer dalam jumlah tertentu saja.
d. Produsen hanya diperkenankan memasukkan nilai dalam buffer ketika konsumen nila menggunakan nilai kembali.

Solusi untuk Bounded Buffer Problems adalah dengan menggunakan Semaphore menggunakan variable berikut yaitu Semaphore Full, Empety, dan Mutex.

2. Reader And Writer Problems

Reader And Writers Problem adalah salah satu permasalahan sinkronisasi klasik yang digunakan untuk membandingkan berbagai cara untuk menyesaikan berbagai masalah sinkronisasi, secara singkatnya permasalahan ini terjadi ketika pembaca dan penulis mengakses data secara bersamaan. Masalah yang sering timbul adalah dalam database dimana adanya proses untuk membaca dan menulis nilai tertentu.
Untuk menyelesaikan permasalahan di atas terdapat solusi sebagai berikut:
  • Reader diprioritaskan
  • Writer diprioritaskan
  • Kedua jenis proses diprioritaskan
Reader Writer Problem Picture


Penjelasan dari solusi diatas adalah
a. Reader diprioritaskan adalah dimana reader dapat membaca data yang ada meskipun ada reader lain yang lain untuk membaca pula sementara writer harus menunggu untuk menulis dan reader yang lain pun juga tidak perlu untuk menunggu apabila ingin menbaca data
b. Writer diprioritaskan adalah dimana ketika writer sedang menulis data, maka reader tidak diperkenankan untuk membaca data.
c. Pada dasarnya tidak ada prioritas utama dalam kedua proses tersebut.

3. Dining Philosopher Problems

Dining Philosopher Problems adalah suatu permasalahan sinkrinisasi dimana terdapat beberapa data yang memerlukan proses yang sama dalam waktu bersamaan namun yang menjadi kendala ialah hanya beberapa data saja yang dapat di proses. Hal ini dapat diimplimikasikan dengan wait dan signal. 


Dining Philosopher Problem 
Perhatikan gambar di atas, terdapat masalah dalam melakukan proses jika hanya terdapat 5 philosopher dan hanya ada 4 sumpit untuk dapat mengambil makanan/ data yang ada, jika setiap philosopher menggunakan 2 sumpit untuk mengambil makanan maka akan ada 3 philosopher yang tidak dapat mengambil makanan, dengan demikian maka akan terjadi Deadlock. 

Agar tidak terjadi Deadlock maka solusi yang dapat dilakukan adalah sebagai berikut:
a. Solusi pertama adalah mengizinkan 5 philosopher untuk duduk bersama dengan ketentuan setiap philosopher mengambil 1 sumpit untuk mengambil makanan yang terdapat ditengah meja.

b. Solusi kedua ialah setidaknya mengizinkan 2 philosopher untuk duduk bersama sehingga setiap philosopher dapat menggunakan 2 sumpit.

SEMOGA BERMANFAAT 

Komentar

Postingan populer dari blog ini

Beberapa Software Untuk Analisa Proses Bisnis

       A. MICROSOFT VISIO 1.       Pengertian          Microsoft Visio adalah sebuah program aplikasi computer yang sering digunakan untuk membuat diagram, dari diagram flowchat, brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vector untuk membuat diagram – diagramnya. Visio aslinya bukanlah buatan Microsoft Corporation, melainkan buatan Visio Corporation, yang diakuisisi oleh Microsoft  pada tahun  2000. Versi yang telah menggunakan nama Microsoft Visio adalah Visio 2002, Visio 2003, dan Visio 2007 yang merupakan versi terbaru. Visio 2007 Standard dan Profesional menawarkan antarmuka pengguna yang sama, tapi seri Profesional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut. 2.       Versi Microsoft Visio antara lain Visio 5.0 Visio 2000 Microsoft Visio 2002 (d...

KONSEP SISTEM OPERASI

BAB 1 Pengantar Sistem Informasi adalah suatu perangkat yang di gunakan sebagai perantara antara brainware dan hardware. Tujuan dari sitem informasi adalah untuk menyediakan lingkungan dimana user dapat menjalankan program dengan cara efisien dan efektif.  Sistem operasi untuk komputer genggam yang dirancang untuk menyediakan  ruang  dimana pengguna dapat dengan mudah  melakukan  antarmuka dengan komputer untuk mengeksekusi program. Dengan demikian, beberapa sistem operasi dirancang untuk menjadi  lebih  nyaman, efisien, dan lain-lain beberapa kombinasi dari keduanya. Yang dapat dilakukan oleh system informasi adalah dengan melihat peran system konputer secara keseluruhan. Pada dasarnya system computer dibagi menjadi empat bagian yaitu perangkat keras, system informasi, program aplikasi dan user. Hardware-unit pengolahan pusat (CPU), memori, dan input / output (I / O) perangkat-menyediakan sumber daya dasar komputasi untuk sistem. Progra...

Mac OS, LINUX dan ANDROID

PENDAHULUAN Sistem Informasi    adalah kombinasi dari  teknologi informasi  dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi dan manajemen.    Alter berpendapat untuk sistem informasi sebagai tipe khusus dari sistem kerja. Sistem kerja adalah suatu sistem di mana manusia dan/atau mesin melakukan pekerjaan dengan menggunakan sumber daya untuk memproduksi produk tertentu dan/atau jasa bagi pelanggan. Sistem informasi adalah suatu sistem kerja yang kegiatannya ditujukan untuk pengolahan (menangkap, transmisi, menyimpan, mengambil, memanipulasi dan menampilkan) informasi. Dari sekian banyak system informasi disini saya akan membahas beberapa aplikasi dari OS tersebut, yaitu MacOS, Linux dan android. 1.    Mac OS Mac OS adalah singkatan dari Macintosh Operating System. Mac OS adalah  sistem operasi   komputer  yang dibuat oleh  Apple Computer  khusus untuk komputer  Macintosh  dan t...