Page 110 - C:\Users\RENO\Documents\MK Sistem Operasi\Folder Baru\
P. 110
tiket. Dengan demikian, tiket yang seharusnya menjadi miliknya tanpa perlu
usaha berlebih, sekarang harus dia perebutkan dengan orang lain yang
kebetulan mendaftar pada saat yang bersamaan.
Kembali kepada masalah Readers/Writers, seperti yang telah dikatakan
di atas bahwa inti dari permasalahan ini adalah adanya beberapa pembaca dan
penulis yang ingin mengakses suatu berkas secara simultan. Sebagai syarat
bahwa data yang terkandung dalam berkas tersebut tetap konsisten, maka
setiap kali berkas tersebut ditulis, maka hanya ada boleh maksimal satu penulis
yang menulisnya. Untuk pembaca, hal ini tidak perlu dikhawatirkan sebab
membaca suatu berkas tidak mengubah isinya. Dengan kata lain, pada suatu
saat diperbolehkan untuk beberapa pembaca untuk membaca berkas tersebut.
Akan tetapi, ketika ada yang sedang menulis, tidak boleh ada satupun yang
membaca. Ini berarti bahwa thread penulis menjalankan tugasnya secara
eksklusif.
d. Dining Philosopher
Masalah Dining Philosophers, diketahui sejumlah (N) filusuf yang hanya
memiliki tiga status, berpikir, lapar, dan makan. Semua filusuf berada di
sebuah meja makan bundar yang ditata sehingga di depan setiap filusuf ada
sebuah piring berisi mie dan di antara dua piring yang bersebelahan terdapat
sebuah sumpit.
2. Deadlock terjadi karena adanya sekumpulan proses yang di blok dimana setiap
proses membawa sumber daya yang dibawa oleh proses yang lain.
3. Cara mengatasi agar tidak terjadi deadlock pada sebuah proses adalah tiap proses
harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut
sampai semuanya diberikan. Jika proses telah sedang memegang sumber daya
tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang
dipegangnya. Pada sistem kebanyakan permintaan terhadap sumber daya dilakukan
sebanyak sekali saja. Sistem sudah harus dapat mengenali bahwa sumber daya itu
aman atau tidak (tidak terkena deadlock), setelah itu baru dialokasikan. Ada dua
cara yaitu:
96