Skip to main content
Pelajar Koding

follow us

Penjelasan Lengkap Perihal Deadlock Pada Komputer


Deadlock yaitu suatu kondisi dimana dua proses atau lebih saling menunggu proses untuk melepaskan sumber daya atau resources yang sedang dipakai. Nah bagi kebanyakan orang, mungkin sumber daya atau resource ini tidak sanggup kita lihat pribadi secara mata kita. Tidak menyerupai error-error lain menyerupai virus yang sanggup kita lihat secara langsung. Namun deadlock ini memang sulit dideteksi secara langsung.

Untuk mempermudah kita dalam pemahaman mengenai deadlock ini Anda sanggup membayangkan dilema dalam kehidupan kita. "Dalam kehidupan, tentunya kita membutuhkan pekerjaan. Untuk memperoleh pekerjaan, kita harus punya pengalaman. Untuk punya pengalaman, kita harus bekerja dulu. Dan seterusnya..." Itulah analogi bagaimana deadlock itu terjadi.

Lebih dalam mengenai deadlock

Seperti yang sudah saya jelaskan ditas, deadlock memang sangat sulit untuk dideteksi. Tidak semudah kita mendeteksi virus, maka dari itu tidak heran apabila sebuah OS sering membiarkan deadlock itu terjadi. Nah kemudian apa pola deadlock ? Ya salah satu pola deadlock yaitu blue screen. Namun tidak semua blue screen merupakan deadlock. Hanya sebagian error blue screen merupakan tanggapan dari deadlock (ingat, bluescreen sanggup disebabkan oleh banyak sekali macam penyebab, bukan 1 penyebab saja). Maka dari itu, windows memang sengaja membiarkan blue screen itu terjadi lantaran memang sangat sulit untuk mendeteksi blue screen.


Lalu apa penyebabnya ?

Kalau secara kasus nyata, deadlock ini sanggup disebabkan oleh banyak hal dan bukan lantaran 1 hal saja. Seperti yang sudah saya terangkan diatas salah satu deadlock yaitu blue screen, blue screen sanggup disebabkan lantaran driver, bios, ram,processor,dll. Untuk mengetahui dengan terang apa penyebab blue screen Anda sanggup melihat di link berikut :
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2


Bagaimana proses terjadinya deadlock ?

Ingat, deadlock sanggup terjadi lantaran banyak sekali macam penyebab, namun deadlock terjadi hanya dengan 4 kondisi berikut. Apabila 4 kondisi berikut tidak terjaid, maka hal tersebut tidak sanggup dianggap sebagai deadlock.

4 Kondisi yang mengambarkan bahwa deadlock terjadi : 

1. Mutual Exclusion, mutual exclusion terjadi ketika resource yang digunakan yaitu resource yang non shareable.
2. Hold and Wait, terdapat suatu proses yang menahan resource, padahal resource tersebut telah dialokasikan oleh proses yang lain
3. No Preemption, resource yang telah di alokasikan untuk sebuah proses tidak sanggup didahului oleh proses lain.
4. Circular Wait, beberapa proses membentuk urutan rantai berbentuk sirkular dimana masing-masing proses menunggu proses sebelumnya untuk selesai.

4 Kondisi tersebut tidak sanggup kita lihat secara pribadi menyerupai yang sudah saya katakan diatas. Karena memang deadlock itu sulit dideteksi. Istilah yang mungkin Anda kurang tau yaitu "Resource" dan "proses".
Resource yaitu sumber daya yang digunakan untuk melaksanakan proses tertentu. Sumber daya ini sanggup berupa printer, CD-room, dll
proses yaitu sesuatu yang dilakukan dengan melibatkan resource sehingga apabila resource tidak tersedia, maka proses juga tidak akan dijalankan.


Penggambaran Deadlock

Mari kita lihat penggambaran deadlock berikut dengan memakai resource allocation graph. Apa itu resource allocation graph ? Nanti akan saya jelaskan satu per satu.

1. Tidak terjadi deadlock


Nah sanggup Anda lihat, kondisi diatas yaitu kondisi yang tidak mengalami deadlock. Cara membacanya menyerupai ini :
R2 menunjuk ke P1 artinya R2 dialokasikan di P1
R2 menunjuk ke P2 artinya R2 dialokasikan di P2
P1 menunjuk ke R1 artinya P1 meminta R1 untuk menjalankan prosesnya
R4 tidak menunjuk ke siapapun maka R4 tidak digunakan
dan seterusnya..

Nah, mari kita lihat mulai dari P1. P1 ini ditunjuk oleh R2. artinya R2 sudah dialokasikan di P1. Lalu P1 menunjuk ke R1, artinya P1 meminta R1 untuk menjalankan prosesnya. Tapi sayangnya R1 sudah dialokasikan di P2 lantaran R1 menunjuk ke P2. Lalu R2 juga menunjuk ke P2 artinya R2 sudah di alokasikan di P2. Lalu P2 juga membutuhkan R3 untuk menjalankan prosesnya. Tapi sayangnya R3 sudah dialokasikan untuk P3. Tapi kita lihat, P3 sudah tidak meminta sana sini lagi dan sanggup pribadi menjalankan prosesnya dengan resource R3. Lalu P3 dijalankan. Setelah dijalankan, R3 akan dikembalikan ke daerah semula. Lalu kembali lagi P2 tadi kan meminta R3, maka R3 akan mengalokasikan diri ke P2. Lalu P2 dijalankan. Setelah selesai menjalankan P2, maka R1, R2, R3 akan lepas alias sudah sanggup digunakan oleh proses lain. Nah P1 jadinya sanggup menjalankan prosesnya.

Pusing ya ? hahah..
Nah dari situ sanggup kita lihat tidak ada masalah, lantaran semua proses sanggup dijalankan dengan baik.


2. Terjadi deadlock


Gambar diatas hampir sama dengan gambar sebelumnya, hanya yang berbeda yaitu P3 meminta resource di R2. Padahal sudah kita ketahui bahwa R2 saja sudah dialokasikan ke P1 dan P2, maka dari itu akan memutar-mutar terus menerus dan mengakibatkan DEADLOCK.

3 Metode untuk menangani deadlock : 

1. Menggunakan protocol untuk menjamin bahwa sistem tidak pernah memasuki   status deadlock
2. Mengijinkan sistem memasuki status deadlock dan kemudian memperbaikinya.
3. Mengabaikan permasalahan dan seolah-olah deadlock tidak pernah terjadi pada sistem. Model ini yang banyak digunakan pada sistem operasi termasuk UNIX.

Cara menghindari deadlock

Nah sebelum kita mencar ilmu bagaimana cara menghindari deadlock, ktia harus tau dulu bagaimana biar sistem tidak berpotensi mengalami deadlock. Nah jadi ada yang disebut dengan state kondusif dan tidak aman.

- Sistem dikatakan dalam state kondusif bila sistem sanggup mengalokasikan sumber daya untuk setiap proses secara berurutan dan menghindari deadlock.
- Sistem dikatakan dalam state tidak kondusif bila sistem tidak sanggup mengalokasikan sumber daya untuk setiap proses secara berurutan yang sanggup menjadikan terjadinya deadlock

Cara memastikan sistem dalam keadaan aman

1. Resource Allocation Graph Algorithm


Sebenarnya ini sudah saya jelaskan diawal tadi, namun gak papa saya jelaskan lagi.
Bisa kita lihat apabila kondisi tersebut dijalankan, maka akan terjadi deadlock. Nah tapi kondisi pada gambar tersebut bekerjsama belum sepenuhnya dijalankan.
Makara sanggup kita lihat garis yang utuh (tidak putus2) menyerupai pada R1 menunjuk ke P1. Artinya R1 sudah dialokasikan di P1 sedangkan P1 meminta R2 tapi dengan garis putus2. Garis putus2 ini mengambarkan bahwa P1 belum meminta ke R2 tapi mencoba-coba untuk meminta R2. Nah demikian juga pada P2 yang mencoba-coba meminta R2. Ternyata ketika dilakukan proses percobaan (BELUM SEPENUHNYA DIJALANKAN HANYA MENCOBA-COBA) sanggup mengalami deadlock. Maka dari itu hal yang harus dilakukan yaitu R2 mengalokasikan ke P1 dulu gres mengalokasikan ke P2 sehingga tidak terjadi deadlock.
Bagi Anda yang masih belum mengerti sanggup lihat di video berikut :
https://www.youtube.com/watch?v=e1XKHa1YhLA


2. Banker Algorithm


Nah gambar diatas yaitu salah satu tabel resource dan proses yang akan dijalankan. Lalu cara mengeceknya menyerupai ini
 Deadlock yaitu suatu kondisi dimana dua proses atau lebih saling menunggu proses untuk m Penjelasan Lengkap Tentang Deadlock Pada Komputer
untuk lebih terang Anda sanggup lihat di video ini
https://www.youtube.com/watch?v=w0LwGqffUkg


Bagaimana Cara Memperbaiki Deadlock Pada Komputer Kita

1. Biarkan deadlock itu terjadi (contoh bluescreen)
2. Tulis apa pesan error tersebut
3. Cari di internet bagaimana cara mengatasi error tersebut. Contoh kerusakan driver vga.

Ingin tau bagaimana cara lengkap untuk memperbaiki blue screen ? Yuk baca 



Semoga bermanfaat :D Jangan lupa share :)
Sumber http://komputer67.blogspot.com

You Might Also Like:

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar