Page 109 - C:\Users\RENO\Documents\MK Sistem Operasi\Folder Baru\
P. 109
Jaw
G Jawaban
An
1. Tiga permasalahan klasik yaitu
b. Bounded-Buffer
Masalah dari Bounded-Buffer sendiri tidak jauh dari penampungan data,
Pada bagian ini akan dicontohkan masalah produsen dan konsumen. Hal yang
dikerjakan oleh produsen adalah menghasilkan data, kemudian data itu akan
ditaruh pada buffer. Karena buffer yang tersedia memiliki ukuran yang terbatas,
maka akan ada kemungkinan buffer itu penuh. Ketika buffer tersebut penuh,
produsen tidak dapat menaruh data pada buffer, oleh karena itu produsen akan
berhenti menghasilkan data. Produsen akan menunggu sampai konsumen
mengkonsumsi data dari buffer, sehingga ada array kosong bagi produsen
untuk meletakkan data yang dihasilkannya. Data yang dihasilkan oleh produsen
diletakkan pada array yang ditunjuk oleh masuk.
Hal yang dikerjakan oleh konsumen adalah mengkonsumsi data yang ada
pada buffer. Pada suatu saat, ada kemungkinan tidak terdapat data
pada buffer, sehingga konsumen tidak dapat mengkonsumsi data. Konsumen
akan berhenti mengkonsumsi, dan akan menunggu sampai produsen menaruh
data pada buffer. Data yang dikonsumsi oleh konsumen adalah data yang
terletak pada array yang ditunjuk oleh keluar. Jadi tugas dari produsen adalah
menghasilkan data yang akan dikonsumsi oleh konsumen, sedangkan tugas dari
konsumen adalah mengkonsumsi data yang dihasilkan oleh produsen.
c. Readers and Writer
Masalah ini terjadi ketika ada beberapa pembaca dan penulis ingin
mengakses suatu berkas pada saat bersamaan. Salah satu contoh konkret dari
permasalahan ini adalah masalah pemesanan tiket pesawat terbang. Ketika
seseorang memesan tiket pesawat, dia pertama-tama harus mengecek apakah
masih ada tempat yang tersisa. Sekiranya prosedur pemesanan tiket tersebut
tidak ditangani secara hati-hati, bisa terjadi masalah ketika dia memesan tiket.
Misalkan, sebelum proses pemesanan tiket selesai, ada orang lain yang
memesan tiket yang sama dan lebih cepat menyelesaikan proses pemesanan
95