So Tie 5150411274 Tegar Dwi K
So Tie 5150411274 Tegar Dwi K
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.
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 :
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.