SlideShare a Scribd company logo
DEADLOCK
Pokok Bahasan
 Pengertian & Latar Belakang Deadlock
 Penyebab Deadlock
 Strategi untuk mengatasi Deadlock
 Kesimpulan
Pengertian dan Latar Belakang
 Keadaan dimana 2 atau lebih proses saling
menunggu meminta resources untuk waktu
yang tidak terbatas lamanya
 Analoginya seperti pada kondisi jalan raya
dimana terjadi kemacetan parah
 Deadlock adalah efek samping dari
sinkronisasi, dimana satu variabel digunakan
oleh 2 proses
Model Deadlock
Penyebab Deadlock
 Mutual Exclusion
 Hold and Wait
 Circular Waiting
 No Preemption
Deadlock harus memenuhi semua syarat diatas
Prevention
 Mutual Exclusion : membuat file spool untuk
resource yang digunakan bersama-sama.
 Hanya ada satu proses yang boleh memakai
sumber daya, dan proses lain yang ingin
memakai sumber daya tersebut harus
menunggu hingga sumber daya tadi dilepaskan
atau tidak ada proses yang memakai sumber
daya tersebut.
 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.
 Sumber daya yang ada pada sebuah proses tidak boleh
diambil begitu saja oleh proses lainnya. Untuk
mendapatkan sumber daya tersebut, maka harus
dilepaskan terlebih
dahulu oleh proses yang memegangnya, selain itu
seluruh proses menunggu dan mempersilahkan hanya
proses yang memiliki sumber daya yang boleh berjalan.
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
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
Algoritma Banker
 Didasarkan pada kondisi bank, dimana konsumen
meminjam sejumlah uang, lalu meminta pinjaman
uang lagi
 Proses dan resource dimodelkan dalam satu tabel
A 3 0 1 1
B 0 1 0 0
C 1 1 1 0
D 1 1 0 1
E 0 0 0 0
A 1 1 0 0
B 0 1 1 2
C 3 1 0 0
D 0 0 1 0
E 2 1 1 0
Sistem Operasi : Bank
Resources : Uang
Proses : Diibaratkan nasabah
Contoh penggunaan algoritma
Banker
 Misalnya sistem terdapat 5 proses P0 sampai
P4 dan 3 tipe sumber daya A, B dan C. Tipe
sumber daya A mempunyai 10 anggota, tipe
sumber daya B mempunyai 4 anggota dan tipe
sumber daya C mempunyai 7 anggota. Pada
waktu T0 matrik available/work/sisa dihitung
dulu jumlah resource R1 dikurangi total
resource R1 yang telah dialokasikan, demikian
Dik: Matrix Max Request, matrix
yg telah dialokasi saat T0 sbb:
 Max - Allocation = Need Work
 R1 R2 R3 R1 R2 R3 3 3 2
 P1 3 2 2 2 0 0
 P3 2 2 2 2 1 1
 P4 4 3 3 0 0 2
 P2 9 0 2 3 0 2
 P0 7 5 3 0 1 0
 total yg dialokasikan 6 2 5
 Available=work/sisa = 10 4 7 – 6 2 5 jadi work (3 3 2)
 Ditanyakan : sequence permintaan (p1,p3,p4,p2, p0) safe atau unsafe(gagal)?
 dan deskripsikan state sumber daya yang dialokasikan adalah :
Penerapan Algoritma Bankier
pada Agoritma Safety
 Analisis algoritma safety terhadap keadaan adalah
sebagai berikut:
 1. Work = Available(3, 3, 2).
 2. Set Finish[i] = False.
 3. Temukan proses yang memiliki Need <= Work.
Anggap resourcedipinjamkan, proses berakhir dan
mengembalikan semua resource-nya.

Penerapan Algoritma Bankier
pada Agoritma Safety
 Max - Allocation = Need <= Work
 R1 R2 R3 R1 R2 R3 R1 R2 R3
Work
 P1 3 2 2 2 0 0 1 2 2 3 3 2
 P3 2 2 2 2 1 1 0 1 1 5 3 2
 P4 4 3 3 0 0 2 4 3 1 7 4 3
 P2 9 0 2 3 0 2 6 0 0 7 4 5
 P0 7 5 3 0 1 0 7 4 3 10 4 7
 4. Semua proses dapat berakhir dengan baik, ini berarti
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
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
Deadlock di Linux
If a system has more than two processors (including virtual
processors) and is running any version of Linux which utilizes a 2.4
series kernel, it may experience a three-way CPU deadlock in the
network layer. This deadlock is most prevalent whenever Ethernet
channel bonding (teaming) is being utilized. This is not architecture
specific and affects all x86, EM64T, and IA64 platforms. This is also
not distribution specific and affects all kernel 2.4 based distributions
including multiple Red Hat releases. To reduce exposure, the only
option is to not utilize channel bonding (teaming) on these platforms.
There will be no fix for this issue other than migrating to RHEL 4. For
other non-Red Hat distributions, contact the distribution vendor for a
fix.
Deadlock di Linux
 Linux dengan kernel versi 2.4 mengalami
deadlock pada sistem dengan prosesor lebih
dari 2 unit
 Deadlock ini pada umumnya terjadi bila akses
melalui Ethernet dilakukan, terutama bila
melakukan teaming pada jaringan. Proses
akan terblock dan saling menunggu resource
Ethernet tersebut bebas.
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.
 Kasus ini juga terjadi pada Serial device
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
TUGAS : mengacu ke slide 12-15
 1. jika urutan prosesnya (p1,p4,p0,p2, p3) safe
atau unsafe
 2. Jika pada saat T0, pada matrix Max
pada proses P4 diketahui isi nya 4 x y
dengan x digit terakhir Nim dan y digit disamping x
hitung safe atau unsafe untuk request proses
(p1,p4,p0,p2, p3) ?
Gambarkan perubahan matrix nya sesuai request tsb
Sekian dan terima kasih

More Related Content

Similar to MF427_10_172043.ppt

Deadlock
DeadlockDeadlock
Deadlock
eddie Ismantoe
 
Deadlock
DeadlockDeadlock
Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]
beiharira
 
6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvation
nasib silaban
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
Ervina Yudhistira
 
7 deadlock uplod
7 deadlock uplod7 deadlock uplod
7 deadlock uplod
Setia Juli Irzal Ismail
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlock
Samuel Bosawer
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lock
AbdulRahman1543
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTER
beiharira
 
Deadlock kelompok 3
Deadlock   kelompok 3Deadlock   kelompok 3
Deadlock kelompok 3
afifahzahra10
 
Helen Alida Abilio - Deadlock
Helen Alida Abilio - DeadlockHelen Alida Abilio - Deadlock
Helen Alida Abilio - Deadlock
belajarkomputer
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Yaya610291
 
Penjadwalan cpu blog
Penjadwalan cpu blogPenjadwalan cpu blog
Penjadwalan cpu blogndriehs
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
Sejahtera Affif
 

Similar to MF427_10_172043.ppt (20)

Deadlock
DeadlockDeadlock
Deadlock
 
Deadlock
DeadlockDeadlock
Deadlock
 
Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]Sistem Operasi - 9 [Deadlock]
Sistem Operasi - 9 [Deadlock]
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
Os ppt.7
Os ppt.7Os ppt.7
Os ppt.7
 
6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvation
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
 
7 deadlock uplod
7 deadlock uplod7 deadlock uplod
7 deadlock uplod
 
Deadlock
DeadlockDeadlock
Deadlock
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlock
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lock
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTER
 
Deadlock kelompok 3
Deadlock   kelompok 3Deadlock   kelompok 3
Deadlock kelompok 3
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
Helen Alida Abilio - Deadlock
Helen Alida Abilio - DeadlockHelen Alida Abilio - Deadlock
Helen Alida Abilio - Deadlock
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Os07
Os07Os07
Os07
 
Pertemuan ke 7
Pertemuan ke 7Pertemuan ke 7
Pertemuan ke 7
 
Penjadwalan cpu blog
Penjadwalan cpu blogPenjadwalan cpu blog
Penjadwalan cpu blog
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
 

MF427_10_172043.ppt

  • 2. Pokok Bahasan  Pengertian & Latar Belakang Deadlock  Penyebab Deadlock  Strategi untuk mengatasi Deadlock  Kesimpulan
  • 3. Pengertian dan Latar Belakang  Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya  Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah  Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses
  • 5. Penyebab Deadlock  Mutual Exclusion  Hold and Wait  Circular Waiting  No Preemption Deadlock harus memenuhi semua syarat diatas
  • 6. Prevention  Mutual Exclusion : membuat file spool untuk resource yang digunakan bersama-sama.  Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
  • 7.  Hold and Wait : memaksa sebuah proses untuk melepaskan resource yang dimilikinya ketika meminta resource baru  Circular Waiting : memberikan penamaan resource berdasarkan urutan atau level
  • 8.  No Preemption : membolehkan adanya preemption.  Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.
  • 9. 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
  • 10. 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
  • 11. Algoritma Banker  Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang, lalu meminta pinjaman uang lagi  Proses dan resource dimodelkan dalam satu tabel A 3 0 1 1 B 0 1 0 0 C 1 1 1 0 D 1 1 0 1 E 0 0 0 0 A 1 1 0 0 B 0 1 1 2 C 3 1 0 0 D 0 0 1 0 E 2 1 1 0 Sistem Operasi : Bank Resources : Uang Proses : Diibaratkan nasabah
  • 12. Contoh penggunaan algoritma Banker  Misalnya sistem terdapat 5 proses P0 sampai P4 dan 3 tipe sumber daya A, B dan C. Tipe sumber daya A mempunyai 10 anggota, tipe sumber daya B mempunyai 4 anggota dan tipe sumber daya C mempunyai 7 anggota. Pada waktu T0 matrik available/work/sisa dihitung dulu jumlah resource R1 dikurangi total resource R1 yang telah dialokasikan, demikian
  • 13. Dik: Matrix Max Request, matrix yg telah dialokasi saat T0 sbb:  Max - Allocation = Need Work  R1 R2 R3 R1 R2 R3 3 3 2  P1 3 2 2 2 0 0  P3 2 2 2 2 1 1  P4 4 3 3 0 0 2  P2 9 0 2 3 0 2  P0 7 5 3 0 1 0  total yg dialokasikan 6 2 5  Available=work/sisa = 10 4 7 – 6 2 5 jadi work (3 3 2)  Ditanyakan : sequence permintaan (p1,p3,p4,p2, p0) safe atau unsafe(gagal)?  dan deskripsikan state sumber daya yang dialokasikan adalah :
  • 14. Penerapan Algoritma Bankier pada Agoritma Safety  Analisis algoritma safety terhadap keadaan adalah sebagai berikut:  1. Work = Available(3, 3, 2).  2. Set Finish[i] = False.  3. Temukan proses yang memiliki Need <= Work. Anggap resourcedipinjamkan, proses berakhir dan mengembalikan semua resource-nya. 
  • 15. Penerapan Algoritma Bankier pada Agoritma Safety  Max - Allocation = Need <= Work  R1 R2 R3 R1 R2 R3 R1 R2 R3 Work  P1 3 2 2 2 0 0 1 2 2 3 3 2  P3 2 2 2 2 1 1 0 1 1 5 3 2  P4 4 3 3 0 0 2 4 3 1 7 4 3  P2 9 0 2 3 0 2 6 0 0 7 4 5  P0 7 5 3 0 1 0 7 4 3 10 4 7  4. Semua proses dapat berakhir dengan baik, ini berarti
  • 16. 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
  • 17. 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
  • 18. Deadlock di Linux If a system has more than two processors (including virtual processors) and is running any version of Linux which utilizes a 2.4 series kernel, it may experience a three-way CPU deadlock in the network layer. This deadlock is most prevalent whenever Ethernet channel bonding (teaming) is being utilized. This is not architecture specific and affects all x86, EM64T, and IA64 platforms. This is also not distribution specific and affects all kernel 2.4 based distributions including multiple Red Hat releases. To reduce exposure, the only option is to not utilize channel bonding (teaming) on these platforms. There will be no fix for this issue other than migrating to RHEL 4. For other non-Red Hat distributions, contact the distribution vendor for a fix.
  • 19. Deadlock di Linux  Linux dengan kernel versi 2.4 mengalami deadlock pada sistem dengan prosesor lebih dari 2 unit  Deadlock ini pada umumnya terjadi bila akses melalui Ethernet dilakukan, terutama bila melakukan teaming pada jaringan. Proses akan terblock dan saling menunggu resource Ethernet tersebut bebas.
  • 20. 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.  Kasus ini juga terjadi pada Serial device
  • 21. 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
  • 22. TUGAS : mengacu ke slide 12-15  1. jika urutan prosesnya (p1,p4,p0,p2, p3) safe atau unsafe  2. Jika pada saat T0, pada matrix Max pada proses P4 diketahui isi nya 4 x y dengan x digit terakhir Nim dan y digit disamping x hitung safe atau unsafe untuk request proses (p1,p4,p0,p2, p3) ? Gambarkan perubahan matrix nya sesuai request tsb