Anda di halaman 1dari 16

SISTEM OPERASI KOMPUTER

5215-024-2

Deadlock

Pendidikan Teknik Elektronika


Fakultas Teknik - Universitas Negeri Jakarta

1
Deadlock

Deadlock mungkin dapat terjadi pada suatu proses


disebabkan proses itu menunggu suatu kejadian
tertentu yang tidak akan pernah terjadi

Dua atau lebih proses dikatakan berada dalam


kondisi deadlock, bila setiap proses menunggu suatu
kejadian yang hanya dapat dilakukan oleh proses lain
dalam himpunan tersebut.

2
Deadlock

Permanent blocking of a set of processes that


either compete for system resources or
communicate with each other
No efficient solution
Involve conflicting needs for resources by two
or more processes

3
4
Sumberdaya yg digunakan

Digunakan dengan hanya satu proses pada suatu


saat dan tidak dikembalikan
Proses terdiri dari sumberdaya yang tidak segera
di release untuk digunakan oleh proses lain
Sumberdaya dalam SOK sbb: Processors, I/O
channels, main and secondary memory, devices,
and data structures such as files, databases, and
semaphores
Deadlock terjadi jika tiap proses menahan suatu
sumberdaya dan diminta oleh yang lain proses
lain pada saat yang sama

5
Contoh Deadlock (1)

6
Contoh Deadlock (2)

Space is available for allocation of 200Kbytes, and


the following sequence of events occur

P1 P2
... ...
Request 80 Kbytes; Request 70 Kbytes;
... ...
Request 60 Kbytes; Request 80 Kbytes;

Deadlock occurs if both processes progress to their


second request

7
Sumberdaya yg dapat dikonsumsi
(Consumable Resources)

Dibangun (produced) dan dibuang (consumed)


Interrupts, signals, messages, and information in
I/O buffers
Deadlock dapat terjadi jika suatu pesan yg
diterima tertahan (blocking)
Kemungkinan terjadi kombinasi kejadian yang
menyebabkan deadlock

8
Kondisi terjadi Deadlock

Mutual exclusion
– Hanya satu proses menggunakan satu sumberdaya pada saat
yang sama
Hold-and-wait
– Proses yang sedang menggunakan suatu sumberdaya dan
meminta sumberdaya lain
No preemption
– Tidak ada sumberdaya yang dapat dipaksa keluar hingga
proses tersebut melepasnya.
Circular Wait
– Kondisi yang menyatakan adanya rantai saling meminta sumber
daya yang dimiliki oleh suatu proses oleh proses lainnya

9
Kondisi Deadlock
Circular wait
– A closed chain of processes exists, such that each process
holds at least one resource needed by the next process in the
chain

10
Pencegahan Deadlock

Mutual Exclusion
– Harus mendapat dukungan Sistem Operasi
Hold and Wait
– Memerlukan sebuah proses meminta sumberdaya pada waktu
yang sama
No Preemption
– Proses harus melepas sumberdaya dan meminta kembali
– Sistem operasi memaksa proses untuk melepas sumberdaya
Circular Wait
– Menentukan urutan linear sumberdaya

11
Pencegahan Deadlock
Jenis Deadlock Langkah Kelemahan

Mutual Exclusion Spooling sumber daya Dapat menyebabkan chaos

Hold and Wait Meminta sumber daya di awal Sulit memperkirakan di awal dan tidak
optimal

No Pre-emptive Mengambil sumber daya di tengah Hasil proses tidak akan baik
proses

Circular Wait Penomoran permintaan sumber daya Tidak ada penomoran yang memuaskan
semua pihak

12
Dua hal mencegah Deadlock

Do not start a process if its demands might lead to


deadlock
Do not grant an incremental resource request to a
process if this allocation might lead to deadlock

13
Pencegahan Deadlock

Maximum resource requirement must be stated in


advance
Processes under consideration must be independent; no
synchronization requirements
There must be a fixed number of resources to allocate
No process may exit while holding resources

14
Strategi saat terjadi Deadlock

Abort all deadlocked processes


Back up each deadlocked process to some previously defined
checkpoint, and restart all process
– Original deadlock may occur
Successively abort deadlocked processes until deadlock no longer
exists
Successively preempt resources until deadlock no longer exists

15
Strengths and Weaknesses of the Strategies

16

Anda mungkin juga menyukai