Monday 25 September 2017

Classical Problem of Synchronization

Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user dengan sistem komputer. Dalam suatu sistem pasti terdapat masalah-masalah yang akan terjadi. Masalah tersebut biasanya terdapat pada proses-prosesnya

proses-proses yang berinteraksi, terdapat beberapa masalah yang harus diselesaikan seperti deadlock dan sinkronisasi. Salah satu masalah klasik yang dapat menggambarkan masalah tersebut adalah Bounded-Buffer Problem, Readers and Writers Problem, Dining-Philosophers Problem.

Classical problems used to test newly-proposed synchronization schemes

  • Bounded-Buffer Problem
  • Readers and Writers Problem
  • Dining-Philosophers Problem


Bounded-Buffer Problem
Bounded buffer adalah suatu struktur data untuk menampung (buffer) suatu nilai dimana kapasitasnya tertentu/terbatas (bounded) dan dapat mengeluarkan kembali jika dibutuhkan. Jadi inti dari bounded buffer problem adalah salah satu masalah yang menerangkan sinkronisasi antara proses-proses yang berjalan secara konkuren untuk mengakses data yang sama.

Masalah dalam hal ini menjelaskan dua proses, produsen dan konsumen, yang berbagi umum. Tugas produser adalah untuk menghasilkan data, memasukkannya ke dalam buffer, dan mulai lagi. Pada saat yang bersamaan, konsumen mengkonsumsi data (yaitu, mengeluarkannya dari buffer), satu bagian pada suatu waktu.

Readers and Writers Problem
Readers dan writer problem adalah suatu problem yang memodelkan proses untuk mengakses database. Masalah ini timbul ketika ada dua proses atau lebih berbagi data yang sama. Data yang dimaksud disini bisa berbentuk buffer, file atau objek dari suatu program

Reader tidak akan menunggu reader(s) lain yang sedang membaca, walaupun ada writer yang sedang menunggu. Dengan kata lain, Jika ada reader yang datang ketika reader lain sedang membaca dan sebuah writer sedang menunggu, maka reader yang baru datang tersebut akan langsung mendapat giliran untuk membaca. Writer akan ditunda pengerjaannya.

Perlu di ingat bahwa kedua jenis proses tersebut mempunyai prioritas yang sama.

Dining-Philosophers Problem
Dining philosophers merupakan masalah yang timbul disebabkan kurangnya sumber daya yang dimiliki setiap proses. Proses tersebut untuk mengevaluasi situasi di mana ada kebutuhan untuk mengalokasikan banyak sumber daya ke banyak proses.
Untuk mengatasi masalah yang di hadapi dining philosophers dapat digunakan berbagai solusi software.Solusi yang digunakan adalah dengan menggunakan Semaphores. Semaphore adalah lokasi di dalam memori yang nilainya dapat diuji dan di set oleh lebih dari satu proses. Semaphore biasanya digunakan untuk memonitor dan mengontrol ketersediaan sumberdaya sistem, seperti pembagian segmen memori.
Semaphore pada dasarnya adalah counter yang diasosiasikan dengan struktur data. Semaphore diperiksa oleh semua kernel thread

Difference
Bounded-Buffer Problem 
masalah yang menerangkan sinkronisasi antara proses-proses yang berjalan secara konkuren untuk mengakses data yang sama.

Readers and Writers Problem
suatu problem/masalah yang memodelkan proses untuk mengakses database

Dining-Philosophers Problem
masalah yang timbul disebabkan kurangnya sumber daya yang dimiliki setiap proses.

0 comments:

Post a Comment