Anda di halaman 1dari 17

DEADLOCK

Sistem Operasi

KELOMPOK 8
• Budi Nofianto 100010761
• I Wayan Agus Wiratama 100010745
• AA Ngurah Bagus 100010767
• I Made Doni Daryanto 100010744
• Kade Bangkit Ardana 100010700
Pokok Bahasan
• Pengertian & Latar Belakang Deadlock
• Pengertian Resource
• Metode Penanganan Deadlock
• Penyebab Terjadinya 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
MENU
Model Deadlock

MENU
RESOURCE
• Resource dapat berupa hardware device
(seperti tape drive, memori) atau berupa
informasi (record dalam suatu basis data,
variable global, dll).
Resource ada 2 jenis, yaitu:
– Peemptable
– Nonpreemtable.
MENU
Dua Jenis Resource :
• Resource preemtable adalah resource yang dapat
diambil (dilepas) dari proses yang sedang
memakainya tanpa memberi efek apapun pada
proses tersebut.
• Resource nonpreemtable adalah resource yang
tidak dapat diambil dari proses yang sedang
membawanya karena akan menimbulkan
kegagalan komputasi. Resource jenis ini yang
sering Menyebabkan deadlock.
MENU
Metode Penanganan Deadlock
I. Deadlock Prevention: Pencegahan adanya
faktor-faktor penyebab deadlock
II. Deadlock Avoidance: Menghindari dari situasi
yang potensial dapat mengarah menjadi
deadlock
III. Deadlock Detection: Jika deadlock ternyata tidak
terhindari maka bagaimana mendeteksi
terjadinya deadlock, dilanjutkan dengan
penyelamatan (recovery).
MENU
I. DEADLOCK PREVENTION

• Adalah suatu pencegahan faktor-faktor penyebab


deadlock
• 4 faktor yang harus dipenuhi untuk terjadi
deadlock:
– Mutual Exclusion: pemakaian resources.
– Hold and Wait: cara menggunakan resources.
– No preemption resource: otoritas/hak.
– Circular wait: kondisi saling menunggu.
• Jika salah satu bisa dicegah maka deadlock pasti
tidak terjadi!
MENU
Penyebab Deadlock
1. Mutual Exclusion
– Adalah Suatu kondisi dimana setiap sumber
daya diberikan tepat pada satu proses pada
suatu waktu. Tiga kondisi untuk menentukan
mutual Exclusion diantaranya :
• Tidak ada dua proses yang pada saat bersamaan
berada di critical region.
• Tidak ada proses yang berjalan diluar critical region
yang bisa menghambat proses lain
• Tidak ada proses yang tidak bisa masuk ke critical
MENU region
Penyebab Deadlock
2. HOLD and WAIT
– Adalah Situasi dimana suatu proses
sedang hold suatu resource secara
eksklusif dan ia menunggu mendapatkan
resource lain (wait).

MENU
Penyebab Deadlock
3. Circular Waiting
– Situasi dimana terjadi saling menunggu
antara beberapa proses sehingga
membentuk waiting chain (circular)

MENU
Penyebab Deadlock
4. No Preemption
– Resource yang hanya dapat dibebaskan
secara sukarela oleh proses yang telah
mendapatkannya
– Proses tidak dapat dipaksa (pre-empt)
untuk melepaskan resource yang sedang
di hold

MENU
II. DEADLOCK 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

MENU
III. DEADLOCK DETECTION
• Membiarkan deadlock terjadi lalu
mendeteksinya kemudian melakukan
tindakan recovery seperlunya
• Tindakan recovery yang dilakukan adalah :
– Batalkan semua proses deadlock
– Batalkan satu proses pada satu waktu hingga
siklus deadlock dapat dihilangkan
– Lakukan preemption, membuat checkpoint untuk
MENU rollback lalu membunuh proses yang prioritasnya kecil
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

MENU
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 dan recovery
MENU
SEKIAN
dan
TERIMA KASIH

MENU

Anda mungkin juga menyukai