Anda di halaman 1dari 3

Bounded –Buffer Problem, Bounded –Buffer suatu strukutur data yang kapasitasnya terbatas yang

mampu menyimpan dan mengeluarkan nilai yang diperlukan . Jika dianalogikan bounded buffer ini
akan mirip dengan sebuah tumpukan piring. Prinsipnya sama seperti saat kita mencuci piring,piring
yang ada di tumpukan terataslah yang akan di cuci terlebih dahulu meskipun datang pada saat
terakhir. Masalah bounded buffer merupakan salah satu masalah yang menerangkan sinkronisasi
antara proses-proses yang berjalan secara konkuren untuk mengakses data yang sama.

Solusinya adalah dengan menggunakan semaphore, ada tiga jenisnya mutex,full,empty. Mutex
digunakan untuk menjamin bahwa hanya ada satu proses yang berjalan mengakses buffer pada
suatu waktu, awalnya di inisialisasi sebesar satu. Full digunakan untuk menghitung jumlah buffer
yang terisi, yang pada awalnya di inisialisasi sebesar nol. Sedangkan empty digunakan untuk
menghitung jumlah buffer yang kosong, yang awalnya di inisialisasi sebesar ukuran buffer. Berikut
variabel umum semaphore full, empty, mutex inisialisasi untuk variable di atas, full = 0, empty = n,
mutex = 1.
Readers and writters problem, Readers dan writer problem adalah suatu problem yang
menyasar proses untuk mengakses database. Permasalahannya terjadi 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.

Terdapat dua variasi pada problems ini :

 Reader tidak perlu menunggu reader lain selesai hanya karena ada writer yang sedang
menunggu (prioritas reader lebih tinggi dari writters).
 Jika writters yang sedang menunggu maka tidak boleh reader lain yang bekerja (write r
prioritas lebih tinggi dari reader).

Solusi :
Solusi Pembaca di Prioritaskan
Reader tidak akan menunggu reader 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.

Solusi Penulis di Prioritaskan


Di mana suatu writer sedang dijalankan oleh sistem, maka tidak boleh ada reader yang memulai
untuk membaca data.

Solusi Kedua Jenis Punya Prioritas Sama


Tidak ada prioritas khusus yang diberikan kepada kedua jenis proses.
dining philosophper problem, permasalahan dari dining philosopher ini berada pada kurangnya
sumber daya yang dimiliki setiap proses. Proses tersebut untuk mengevaluasi situasi di mana ada
kebutuhan untuk mengalokasikan banyak sumber daya ke banyak proses. Masalah ini dapat
dianalogikan sebagai sebuah meja dengan lima orang filsuf,lima piring,dan lima buah sumpit.
Para filsuf itu hanya memiliki tiga status makan,berfikir, dan lapar.

Solusi :
Solusi Waiter, solusi sederhana ini dilakukan dengan mengadakan seorang waiter yang senantiasa
mengawasi penggunaan sumpit di meja makan. Ketika empat buah (dua pasang) sumpit sedang
dipakai,orang berikutnya yang ingin memakai sumpit harus meminta izin kepada sang waiter, yang
hanya dapat diberi ketika salah satu sumpit telah selesai terpakai.

Solusi Hierarki Resource, resources (sumpit) di meja makan telah diberi susunan hirarki. Setiap
permintaan orang terhadap sebuah sumpit harus dilakukan pada susunan tertentu, dan
dikembalikan pada susunan sebaliknya. Dalam hal ini, setiap orang dapat mengambil sumpit
dimanapun diatas meja. Misalkan setiap sumpit diberi nomor sebagai tingkat hirarki dari 1 sampai
5, seseorang hanya dapat mengambil sumpit dengan nomor yang paling rendah, kemudian
mengambil sumpit yang setingkat lebih tinggi. Ketika ia hendak mengembalikannya, orang itu harus
meletakkan sumpit dengan nomor yang lebih tinggi terlebih dahulu, lalu yang rendah.

Anda mungkin juga menyukai