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

FreeBSD

FreeBSD adalah sistem operasi yang bersifat open source dan masih dalam satu keluarga dengan OS BSD, aplikasi ini dijuluki FreeBSD karena software ini gratis untuk digunakan oleh siapapun baik digunakan untuk kebutuhan komersial atau yang lainnya artinya sistem operasi ini dapat digunakan sesuai keinginan user (dapat dimanipulasi). Meskipun cukup terkenal sistem operasi ini masih tidak bisa dibandingkan dengan sistem operasi windows, karena penggunaannya yang relative sulit dan masih bersifat text base dalam mengcommand bukan GUI seperti windows ,FreeBSD juga mengoptimalkan penggunaan platform  PC, serta menyediakan kemudahan dalam proses instalasi. Saat ini Software FreeBSD banyak digunakan oleh server yang menangani beban tinggi. Sejarah FreeBSD BSD sendiri adalah singkatan dari "Barkeley Software Distribution" yang pertama kali dibangun dan dikembangkan oleh Computer System Research Group" (CSRG) di Universitas California at Barkeley (UCB) , BSD keluar pert...

Ip Address

IP ADDRESS DALAM JARINGAN KOMPUTER Pengertian      Ip Address merupakan sekumpulan bilangan biner 32bit, yang dibagi atas 4 segmen dan setiap segmen terdiri atas 8 bit(Sofana,2008,p103). Ip Address dapat ditulis dalam empat kelompok 8 bit(octet) angka binery atau angka decimal (0-255) yang dipisahkan dengan tanda titik. Contoh penulisan ip address dalam bentuk decimalnya adalah 192.16.10.1. Ip Address yang terdiri dari 32 bit angka binary dikenal sebagai ip versi 4(IPV4).     Dalam TCP/IP Ip Address terdiri dari dua bagian utama yaitu  Network ID  dan  Host ID  dimana Network ID adalah alamat dari jaringan sedangkan Host ID adalah alamat dari Host.  Gambar IPV4      3 Fungsi Utama Ip Address Merupakan bagian dasar dalam pengiriman data internet, mendefinisikan format yang tepat untuk dikirimkan ke internet. Mendefinisikan fungsi routing dan mendefinisikan pengalamatan dari komputer. Mendefinisi...

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...