Senin, 27 Januari 2014

latihan



1. Proses dapat meminta berbagai kombinasi dari sumber daya dibawah ini: CDROM, soundcard dan
floppy. Jelaskan tiga macam pencegahan deadlock skema yang meniadakan:

• Hold and Wait

• Circular Wait

• No Preemption
2. Diasumsikan proses P0 memegang sumber daya R2 dan R3, meminta sumber daya R4; P1
menggunakan R4 dan meminta R1; P2 menggunakan R1 dan meminta R3 . Gambarkan Wait-for Graph. Apakah sistem terjebak dalam deadlock? Jika ya, tunjukkan proses mana yang menyebabkan deadlock. Jika tidak, tunjukkan urutan proses untuk selesai.

3. User x telah menggunakan 7 printer dan harus menggunakan 10 printer. User y telah
menggunakan 1 printer dan akan memerlukan paling banyak 4 printer. User z telah menggunakan 2 printer dan akan menggunakan paling banyak 4 printer. Setiap user pada saat ini meminta 1 printer. Kepada siapakah OS akan memberikan grant printer tersebut dan tunjukkan "safe sequence" yang ada sehingga tidak terjadi deadlock.

4. Pernyataan manakah yang benar mengenai deadlock:
i. Pencegahan deadlock lebih sulit dilakukan (implementasi) daripada menghindari deadlock.
ii. Deteksi deadlock dipilih karena utilisasi dari resources dapat lebih optimal.
iii. Salah satu prasyarat untuk melakukan deteksi deadlock adalah: hold and wait.
iv. Algoritma Banker’s (Djikstra) tidak dapat menghindari terjadinya deadlock.
v. Suatu sistem jika berada dalam keadaan tidak aman: "unsafe", berarti telah terjadi deadlock.

5. User 1 sedang menggunakan x printers dan memerlukan total n printers. Kondisi umum adalah: y < -12, n < -12, x < -y, m < -n. State ini safe jika dan hanya jika: i. x+n<-12 dan y+m<-12 dan x+m<-

JAWABAN :
1. • Mencegah Hold and Wait
Untuk mencegah hold and wait, sistem harus menjamin bila suatu proses meminta
sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain.
Proses harus meminta dan dialokasikan semua sumber daya yang diperlukan
sebelum proses memulai eksekusi atau mengijinkan proses meminta sumber daya
hanya jika proses tidak membawa sumber daya lain. Model ini mempunyai utilitas
sumber daya yang rendah dan kemungkinan terjadi starvation jika proses
membutuhkan sumber daya yang popular sehingga terjadi keadaan menunggu yang tidak terbatas karena setidaknya satu dari sumber daya yang dibutuhkannya
dialokasikan untuk proses yang lain.
• Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh
proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah
kondisi non preemption :
o Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya
lain yang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut,
maka semua sumber daya yang sedang dibawa proses tersebut harus
dibebaskan.
o Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya
ditunda dan ditambahkan pada daftar sumber daya.
o Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta.
• Mencegah Kondisi Menunggu Sirkular(Circular Wait)
Sistem mempunyai total permintaan global untuk semua tipe sumber daya. Proses
dapat meminta proses kapanpun menginginkan, tapi permintaan harus dibuat terurut
secara numerik. Setiap proses yang membutuhkan sumber daya dan memintanya
maka nomor urut akan dinaikkan. Cara ini tidak akan menimbulkan siklus.
Masalah yang timbul adalah tidak ada cara pengurutan nomor sumber daya yang
memuaskan semua pihak.

2.  Sukses melihat/menguji nilai Lock adalah false dan set nilai Lock menjadi true. Proses selanjutnya akan mendapatkan nilai Lock adalah true dan loop busy waiting (no-op), menunggu sampai prosesPikeluar dari CS dan men-set Lock false. Sebab proses Pi yang keluar dari CS dijamin akan me-set Lock menjadi false, maka secara otomatis akan ada satu proses yang sedang busy waiting akan dipilih dan dapat masuk ke CS.

3.Printer diberikan ke proses C ( Nilai 4) Mencoba menjawab banker algorithm: Membuat matrix (max, alloc), needs dan available (sisa resources) dan menulis algoritma dan safe sequence yang benar jika diberikan ke proses C (Nilai 4 ) Melakukan iterasi pemilihan pemberian resources dalam mencari terdapat , (Nilai 2 ) misalkan: Finish[3] = false; Work=2; Iterasi : Cari proses dimana Finish adalah false dan Need lebih kecil dari available. Need C <= Work; ... dst.
4. Pernyataan yang benar mengenai deadlock:
·                     Salah satu prasyarat untuk melakukan deteksi deadlock adalah: hold and wait.
·                     Suatu sistem jika berada dalam keadaan tidak aman: "unsafe", berarti telah
terjadi deadlock.
·                     Pencegahan deadlock lebih sulit dilakukan (implementasi) daripada
menghindari deadlock.

5.    Kondisi umum adalah: y <-12, n < -12, x < -y, m < -n. State ini safe jika dan hanya jika:i. x+n<-12 dan y+m<-12 dan x+m<-12ii. x+n<-12 dan y+m<12 dan x+m<-12iii. x+n<-12 atau(or) y+m<-12 dan x+m<-12iv. x+m<-12v. Semua statement diatas menjamin: safe stateeadlock.




Tidak ada komentar:

Posting Komentar