DEADLOCK 
PADA 
SISTEM OPERASI 
Oleh : 
Ayu Ari Andani
Apa “Deadlock” itu . . . ? ? ? ?
PENGERTIAN DEADLOCK 
• 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.
CONTOH KASUS 
• Deadlock dapat dianalogikan lagi seperti ketika dikelas TI-1B sebanyak 29 orang 
ini sedang dilaksanakan UTS mata kuliah Sistem Operasi. Soal berupa esai yang 
harus ditulis tangan. Namun ternyata di kelas tersebut hanya terdapat satu buah 
pulpen. Ketika seluruh mahasiswa berebut ingin menggunakan pulpen tersebut 
terlebih dahulu disbanding yang lain untuk mengerjakan soal dan tidak ada yang 
mau mengalah atau memberi kesempatan kepada oranglain untuk menggunakan 
pulpen terlebih dahulu.
• Ketika sistem operasi menjalankan beberapa program secara bersamaan sehingga 
komputer menjadi “Macet”(Heng , kata anak-anak zaman sekarang).
PENYEBAB DEADLOCK 
• Mutual eklusif, merupakan jaminan bagi proses bahwa 
hanya akan ada satu proses yang menggunakan satu 
resource dalam waktu tertentu, dengan kata lain resource 
tidak dapat digunakan oleh proses secara bersama-sama 
sehingga akan semakin besar kemungkinan terjadi 
deadlock. 
• Hold & wait, dimana proses yang memiliki/ memegang 
(hold) resource meminta resource tambahan untuk dapat 
RUNNING, tetapi resource tambahan tersebut tidak 
pernah didapatnya.
• Tidak bisa disela (preemtion), resource yang dimiliki 
satu proses tidak akan diberikan kepada proses lain 
sebelum proses itu sendiri mendapatkan resource 
tambahan dari proses lain sehingga dia akan melepaskan 
resource yang dimilikinya untuk proses lain, hal ini 
berlaku untuk semua proses yang ada, dengan kata lain 
tidak akan ada proses yang mengalah dan membiarkan 
dirinya disela proses lain. 
• Menunggu sirkular, proses menunggu dalam model 
sirkular yang tidak mungkin mendapatkan solusi karena 
satu sama lain saling menunggu tanpa batas waktu tertentu 
(tak terhingga).
CARA MENGATASI DEADLOCK 
• Metode pencegahan terjadinya Deadlock (Deadlock 
Preventation) 
• Metode ini banyak dipakai, dan metode ini berhubungan dengan 
pengkondisian sistem agar menghilangkan kemungkinan 
terjadinya deadlock, pencegahan adalah sulusi yang terbaik 
dipandang dari sudut tercegahnya deadlock. Dan metode ini 
sering menghasilkanutilisasi sumber daya yangburuk.
• Metode penghindaran terjadinya Deadlock (Deadlock Avoidence) 
• Tujuan dari metoda ini adalah untuk menghindari terjadinya kondisi-kondisi 
yang memungkinkan terjadinya deadlock, dan memperoleh utilisasi sumber daya yg 
baik.Penghindaran bukan berarti menghilangkan semua kemungkinan terjadinya deadlock, 
• Secara teoritis deadlock dimungkinkan.Sistem operasi memeriksa semua permintaan sumber 
daya secara hati-hati, jika sistem operasi mengetahui bahwa alokasi sumber daya 
menimbulkan resiko deadlock, maka sistem akan menolak pengaksesan dan dengan demikian 
menghindari terjadinya deadlock
• Metode deteksi dan pemulihan Deadlock (Deadlock detection and recovery) 
• Metode deteksi ini digunakan pada sistem yang mengizinkan terjadinya deadlock, Tujuan dari 
metode ini adalah untuk memeriksa apakah telah terjadi deadlock dan menentukan proses 
serta sumber daya yang terlibat dalam deadlock secara presisi setelah ditemukan sistem 
dipulihkan dari deadlock dengan metode pemulihan. (metode pemulihan dari deadlock 
adalah untuk menghilangkan deadlock sistem sehingga dapat beroperasi kembali)Proses yang 
terlibat dalam deadlock mungkin akan dapat menyelesaikan eksekusi dan membebaskan 
sumber daya dari sumber dayanya.
PENGHINDARAN DEADLOCK 
• Gagasan dasar penghindaran deadlock adalah untuk memberi akses 
kepermintaan sumber daya yang tidak menimbulkan deadlock, cara ini biasa 
digunakan dengan mengalokasikan sumber daya dan memeriksa dampak 
pemberian akses kesuatu permintaan. Jika pemberian akses sumber daya 
tidak mungkin menimbulkan deadlock maka sumber daya diberikan 
kepeminta sumber daya, jika timbul deadlock maka proses yang meminta di 
suspend sampai waktu permintaan nyaman (tidak timbul deadlock) baru 
diberikan, kondisi ini biasanya terjadi setelah satu sumber daya atau 
lebih yang semuladipegang oleh proses-yang aktif lainnya dilepas. 
• Untuk penghindaran deadlock diperlukan pengertian mengenai state 
selamat (safe state) dan dan state tak selamat (unsafe state),
TERIMA KASIH . . . .

Deadlock pada sistem operasi

  • 1.
    DEADLOCK PADA SISTEMOPERASI Oleh : Ayu Ari Andani
  • 2.
  • 4.
    PENGERTIAN DEADLOCK •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.
    CONTOH KASUS •Deadlock dapat dianalogikan lagi seperti ketika dikelas TI-1B sebanyak 29 orang ini sedang dilaksanakan UTS mata kuliah Sistem Operasi. Soal berupa esai yang harus ditulis tangan. Namun ternyata di kelas tersebut hanya terdapat satu buah pulpen. Ketika seluruh mahasiswa berebut ingin menggunakan pulpen tersebut terlebih dahulu disbanding yang lain untuk mengerjakan soal dan tidak ada yang mau mengalah atau memberi kesempatan kepada oranglain untuk menggunakan pulpen terlebih dahulu.
  • 6.
    • Ketika sistemoperasi menjalankan beberapa program secara bersamaan sehingga komputer menjadi “Macet”(Heng , kata anak-anak zaman sekarang).
  • 7.
    PENYEBAB DEADLOCK •Mutual eklusif, merupakan jaminan bagi proses bahwa hanya akan ada satu proses yang menggunakan satu resource dalam waktu tertentu, dengan kata lain resource tidak dapat digunakan oleh proses secara bersama-sama sehingga akan semakin besar kemungkinan terjadi deadlock. • Hold & wait, dimana proses yang memiliki/ memegang (hold) resource meminta resource tambahan untuk dapat RUNNING, tetapi resource tambahan tersebut tidak pernah didapatnya.
  • 8.
    • Tidak bisadisela (preemtion), resource yang dimiliki satu proses tidak akan diberikan kepada proses lain sebelum proses itu sendiri mendapatkan resource tambahan dari proses lain sehingga dia akan melepaskan resource yang dimilikinya untuk proses lain, hal ini berlaku untuk semua proses yang ada, dengan kata lain tidak akan ada proses yang mengalah dan membiarkan dirinya disela proses lain. • Menunggu sirkular, proses menunggu dalam model sirkular yang tidak mungkin mendapatkan solusi karena satu sama lain saling menunggu tanpa batas waktu tertentu (tak terhingga).
  • 9.
    CARA MENGATASI DEADLOCK • Metode pencegahan terjadinya Deadlock (Deadlock Preventation) • Metode ini banyak dipakai, dan metode ini berhubungan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock, pencegahan adalah sulusi yang terbaik dipandang dari sudut tercegahnya deadlock. Dan metode ini sering menghasilkanutilisasi sumber daya yangburuk.
  • 10.
    • Metode penghindaranterjadinya Deadlock (Deadlock Avoidence) • Tujuan dari metoda ini adalah untuk menghindari terjadinya kondisi-kondisi yang memungkinkan terjadinya deadlock, dan memperoleh utilisasi sumber daya yg baik.Penghindaran bukan berarti menghilangkan semua kemungkinan terjadinya deadlock, • Secara teoritis deadlock dimungkinkan.Sistem operasi memeriksa semua permintaan sumber daya secara hati-hati, jika sistem operasi mengetahui bahwa alokasi sumber daya menimbulkan resiko deadlock, maka sistem akan menolak pengaksesan dan dengan demikian menghindari terjadinya deadlock
  • 11.
    • Metode deteksidan pemulihan Deadlock (Deadlock detection and recovery) • Metode deteksi ini digunakan pada sistem yang mengizinkan terjadinya deadlock, Tujuan dari metode ini adalah untuk memeriksa apakah telah terjadi deadlock dan menentukan proses serta sumber daya yang terlibat dalam deadlock secara presisi setelah ditemukan sistem dipulihkan dari deadlock dengan metode pemulihan. (metode pemulihan dari deadlock adalah untuk menghilangkan deadlock sistem sehingga dapat beroperasi kembali)Proses yang terlibat dalam deadlock mungkin akan dapat menyelesaikan eksekusi dan membebaskan sumber daya dari sumber dayanya.
  • 12.
    PENGHINDARAN DEADLOCK •Gagasan dasar penghindaran deadlock adalah untuk memberi akses kepermintaan sumber daya yang tidak menimbulkan deadlock, cara ini biasa digunakan dengan mengalokasikan sumber daya dan memeriksa dampak pemberian akses kesuatu permintaan. Jika pemberian akses sumber daya tidak mungkin menimbulkan deadlock maka sumber daya diberikan kepeminta sumber daya, jika timbul deadlock maka proses yang meminta di suspend sampai waktu permintaan nyaman (tidak timbul deadlock) baru diberikan, kondisi ini biasanya terjadi setelah satu sumber daya atau lebih yang semuladipegang oleh proses-yang aktif lainnya dilepas. • Untuk penghindaran deadlock diperlukan pengertian mengenai state selamat (safe state) dan dan state tak selamat (unsafe state),
  • 13.