Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Deadlock.

Presentasi serupa


Presentasi berjudul: "Deadlock."— Transcript presentasi:

1 Deadlock

2 Pokok Bahasan Pengertian & Latar Belakang Deadlock Penyebab Deadlock
Strategi untuk mengatasi Deadlock Kesimpulan

3 Deadlock Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah.

4 Pengertian dan Latar Belakang
Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses

5 Model Deadlock

6 Penyebab Deadlock Mutual Exclusion Hold and Wait Circular Waiting
No Preemption Deadlock harus memenuhi semua syarat diatas

7 Mutual Exclusion Kondisi yang pertama adalah mutual exclusion yaitu proses memiliki hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu sumber daya. Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya.

8 Hold and Wait Kondisi yang kedua adalah hold and wait yaitu beberapa proses saling menunggu sambil menahan sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu buah sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi, sumber daya yang dimintanya sedang dimiliki oleh proses yang lain.

9 No Preemption Kondisi yang selanjutnya adalah no preemption yaitu sebuah sumber daya hanya dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang memilikinya.

10 Circular Wait Kondisi yang terakhir adalah circular wait yaitu kondisi membentuk siklus yang berisi proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n. Terakhir, proses ke n membutuhkan sumber daya milik proses yang pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.

11 Circular Wait Contoh Circular Wait

12 Strategi mengatasi Deadlock
Prevention : memastikan paling sedikit satu penyebab Deadlock tidak berlaku Avoidance : sistem menolak request terhadap resource yang berpotensi deadlock, Algoritma Banker Detection and Recovery : membiarkan Deadlock terjadi, lalu mendeteksinya, kemudian melakukan recovery, Algoritma Ostrich

13 Prevention Mutual Exclusion : membuat file spool untuk resource yang digunakan bersama-sama Hold and Wait : memaksa sebuah proses untuk melepaskan resource yang dimilikinya ketika meminta resource baru Circular Waiting : memberikan penamaan resource berdasarkan urutan atau level No Preemption : membolehkan adanya preemption

14 Avoidance Resource manager menolak proses yang meminta resource yang berpotensi deadlock Jika ada permintaan resource yang maksimum digunakan, maka proses tersebut akan dipaksa untuk melepaskan resource yang sudah dimiliknya Perlu adanya informasi tambahan

15 Detection dan Recovery
Membiarkan deadlock terjadi lalu mendeteksinya kemudian melakukan tindakan recovery seperlunya Algoritma yang paling dikenal adalah algoritma Ostrich Tindakan recovery yang dilakukan adalah : melakukan preemption, membuat checkpoint untuk rollback lalu membunuh proses yang prioritasnya kecil

16 Fakta tentang Deadlock dalam OS
Pada windows NT, deteksi deadlock yaitu berupa BSOD(Blue Screen Of Death), recoverynya adalah reboot sederhana Pada linux untuk mengetahui apakah terjadi deadlock yaitu dengan menggunakan xosview untuk mengetahui proses yang menggunakan CPU 100%, lalu kill saja proses tersebut

17 Deadlock di Linux Beberapa kasus deadlock juga terjadi ketika OS Linux dijalankan dari kondisi sleep, proses yang mengakses USB device akan mengalami deadlock Hal ini disebabkan fungsi scheduler pada kernel yang digunakan tidak menyimpan state sebelum sleep, sehingga ketika kernel dijalankan kembali, Proses-proses yang mengakses USB device tersebut menunggu giliran mengakses, sementara scheduler belum menjadwalkan masing-masing proses.

18 Kesimpulan Deadlock adalah situasi dimana 1 atau lebih proses tidak akan pernah selesai tanpa adanya recovery Empat kondisi penting untuk deadlock : mutual exclusion, hold and wait, circular wait, and no preemption Deadlock bisa diatasi oleh berbagai strategi : prevention, avoidance, detection and recovery

19 Sekian dan terima kasih


Download ppt "Deadlock."

Presentasi serupa


Iklan oleh Google