Professional Documents
Culture Documents
Deadlock TaufikRaihandani 2210131210018
Deadlock TaufikRaihandani 2210131210018
Disusun Oleh :
Taufik Raihandani 2210131210018
Mata Kuliah :
Sistem Operasi ABKC6304
Dosen Pengampu :
Dr. Harja Santana Purba, M.Kom
DAFTAR ISI............................................................................................................................................ i
PEMBAHASAN ..................................................................................................................................... 2
1.3. Cara Mengatasi, menghindari, dan mencegah deadlock pada sistem operasi ......................... 3
i
PEMBAHASAN
Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses
yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling
menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock dalam
arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah
kebuntuan proses. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang
membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu.
Jadi deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada
komunikasi lagi antar proses.
Kejadian deadlock selalu tidak lepas dari sumber daya dan proses tersebut, yaitu
masalah sumber daya yang digunakan bersama-sama. Deadlock pada sumber daya yang bisa
dipakai berulang-ulang bisa terjadi di prosesor, kanal Masukan/Keluaran, disk, dan semafor.
Contoh misalnya sebuah proses memakai disk A dan B, maka akan terjadi deadlock jika setiap
proses sudah memiliki salah satu disk dan meminta disk yang lain. Contoh lainnya adalah yang
berkaitan dengan jumlah proses yang memakai memori utama. Cara mengatasinya adalah
dengan memakai memori maya (virtual), Sedangkan contoh deadlock pada sumber daya sekali
pakai misalnya ada dua fungsi yang saling berproses. Kedua fungsi tersebut ada yang bertindak
untuk menerima dan memberi sumber daya, tetapi ada kalanya proses tidak mendapat sumber
daya yang dibuat sehingga terjadi blok, oleh karena itu terjadi deadlock.
2
Berdasarkan ilustrasi diatas, misalnya sistem mempunyai 2 tape drive dan terdapat dua proses
P1 dan P2 yang masing masing membawa satu tape drive dan masing-masing memerlukan tape
drive yang dibawa proses lain sehingga terjadi keadaan saling menunggu resource dan sistem
di-blok. Contoh lain, misalnya terdapat semaphore A dan B yang diinisialisasi 1 dan terdapat
dua proses P0 dan P1 masing-masing membawa semaphore A dan B. Kemudian P0 dan P1
meminta semaphore B dan A dengan menjalankan operasi wait. Hal ini mengakibatkan proses
di-blok dan terjadi deadlock.
Deadlock pada sistem operasi dapat dideteksi dengan memeriksa apakah empat kondisi
deadlock terpenuhi: Mutual Exclution, Hold and Wait, Non-preemptable, dan Circular
Wait. Jika empat kondisi ini terpenuhi, maka kemungkinan besar sistem operasi mengalami
deadlock. Ada 4 penyebab deadlock pada sistem operasi, secara umum:
a) Mutual Exclution Keadaan di mana setiap sumber daya hanya bisa digunakan
untuk satu proses sajapada satu periode tertentu
b) Hold and Wait Suatu keadaan di mana proses dapat masuk ke dalam status
hold dan menunggu resource lain yang sedang digunakan proses lain.
c) Non-preemptable Suatu sumber daya tidak bisa diambil setiap saat dari suatu
proses. Sumber daya hanya dapat diambil apabila proses tersebut telas selesai
digunakan.
d) Circular Wait Keadaan dua proses saling menunggu secara circular karena
proses saling menunggu sumber daya.
Ketiga syarat pertama merupakan syarat perlu (necessary conditions) bagi terjadinya deadlock
pada Sistem operasi kita. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi di atas,
tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat
ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock. Deadlock
baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan
bagi terjadinya peristiwa deadlock. Bila salah satu saja dari kondisi tidak terpenuhi maka
deadlock tidak terjadi.
1.3. Cara Mengatasi, menghindari, dan mencegah deadlock pada sistem operasi
Deadlock adalah kondisi di mana dua atau lebih proses saling menunggu satu sama lain
untuk melepaskan sumber daya yang mereka butuhkan untuk melanjutkan eksekusi mereka.
3
Ada empat kondisi yang harus terpenuhi agar deadlock terjadi: Mutual Exclution, Hold and
Wait, Non-preemptable, dan Circular Wait. Berikut adalah beberapa cara untuk mengatasi,
menghindari, dan mencegah terjadinya deadlock:
4
dinaikkan. Cara ini tidak akan menimbulkan siklus. Masalah yang timbul adalah
tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak.
Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung
dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi
deadlock yang dapat berpengaruh terhadap performance sistem karena sumber daya tidak dapat
digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan
berhenti dan harus direstart.
Hal yang terjadi dalam mendeteksi adanya deadlock adalah permintaan sumber daya
dikabulkan selama memungkinkan, sistem operasi memeriksa adakah kondisi circular wait
secara periodic, pemeriksaan adanya deadlock dapat dilakukan setiap ada sumber daya yang
hendak digunakan oleh sebuah proses, memeriksa dengan algoritma tertentu (ini merupakan
pencegahan).
Selain keadaan deadlock, ada juga keadaan safe dan unsafe. Keadaan safe adalah
keadaan di mana sumber daya yang ada apabila dialokasikan ke proses manapun tidak akan
menyebabkan deadlock. Dengan kata lain, bagaimanapun pengalokasian sumber daya, semua
5
proses tetap dapat diselesaikan. Keadaan unsafe adalah keadaan yang tidak menjamin semua
proses akan selesai. Bahkan sangat besar kemungkinannya untuk terjadi deadlock.
Pada dasarnya proses menggunakan sumber daya dari memori. Pada saat proses
dijalankan,proses tersebut menggunakan memori yang telah ada. Akan tetapi,pada saat proses
tersebut telah selesai dijalankan,maka sumber daya yang telah dipakainya dikembalikan ke
ruang memori yang telah dipakai.
Ketika terlalu banyak proses yang dipakai,dan terlalu banyak pula memori yang
digunakan. Maka akan ada proses yang menunggu. Ketika proses yang ada dalam keadaan
menunggu/waiting tersebut tidak mendapatkan kembali sumber daya yang dibutuhkan,maka
keadaan tersebut akan terjebak dalam keadaan deadlock.
Kondisi yang lain,yaitu semua proses dijalankan secara bersamaan dalam satu waktu.
Karena adanya penggunaan data yang sama dalam satu waktu maka akan menyebabkan
ketidak-konsistenan terhadap data. Oleh karena itu,manajemen proses menyediakan fasilitas
untuk melakukan sinkronisasi dengan cara mengatur proses mana yang harus didahulukan
untuk dijalankan dan proses mana yang harus menunggu. Didalam sinkronisasi terdapat
berbagi data antar proses. Maksudnya proses tersebut bekerja sama dengan proses lain dengan
cara berbagi data.
Ketika banyaknya proses dijalankan secara bersamaan dalam satu waktu. Dan adanya
proses berbagi data memori antar proses. Maka proses tersebut akan ada dalam Race Condition.
Ketika proses sudah ada dalam Race Condition,maka manajemen proses melakukan proses
sinkronisasi. Yaitu mengatur jalannya beberapa proses pada saat yang bersamaan. Maka proses
tersebut akan berjalan dengan nyaman dan lancar walaupun dijalankannya berbagai proses
secara bersamaan dalam satu waktu.
6
DAFTAR PUSTAKA
Safei, T. (n.d.). Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi
Menggunakan Algoritma Greedy. Retrieved from
https://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2011-
2012/Makalah2011/MakalahIF3051-2011-025.pdf
Adrian, M. (n.d.). KOMPONEN DASAR SISTEM OPERASI, DEADLOCK, DAN
IMPLEMENTASI GRAF UNTUK MENDETEKSI DEADLOCK PADA SISTEM
OPERASI. Retrieved from
https://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2006-
2007/Makalah/Makalah0607-8.pdf
Artikel GuruPendidikan.CO.ID. (2023, October 3). Retrieved November 28, 2023, from
Gurupendidikan.co.id website: https://www.gurupendidikan.co.id/deadlock-dan-
starvation/
Ariani sinaga. (2022). Deadlock Kasus Pada Sistem Operasi. Retrieved November 28, 2023,
from Academia.edu website:
https://www.academia.edu/12333451/Deadlock_Kasus_Pada_Sistem_Operasi
agustin, gita. (2022). HUBUNGAN MANAJEMEN MEMORI,MANAJEMEN
PROSES,DEADLOCK,DENGAN SINKRONISASI DAFTAR ISI BAB I. Retrieved
November 28, 2023, from Academia.edu website:
https://www.academia.edu/37987384/HUBUNGAN_MANAJEMEN_MEMORI_MA
NAJEMEN_PROSES_DEADLOCK_DENGAN_SINKRONISASI_DAFTAR_ISI_B
AB_I