Penjelasan Lengkap Ihwal 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 eksklusif secara mata kita. Tidak ibarat error-error lain ibarat 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 problem 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 rujukan deadlock ? Ya salah satu rujukan 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 perkara 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 menandakan 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 eksklusif ibarat 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 ibarat 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 eksklusif 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 karenanya 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 menimbulkan DEADLOCK.
3 Metode untuk menangani deadlock :
1. Menggunakan protocol untuk menjamin bahwa sistem tidak pernah memasuki status deadlock2. 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 berguru bagaimana cara menghindari deadlock, ktia harus tau dulu bagaimana semoga sistem tidak berpotensi mengalami deadlock. Nah jadi ada yang disebut dengan state kondusif dan tidak aman.- Sistem dikatakan dalam state kondusif jikalau sistem sanggup mengalokasikan sumber daya untuk setiap proses secara berurutan dan menghindari deadlock.
- Sistem dikatakan dalam state tidak kondusif jikalau sistem tidak sanggup mengalokasikan sumber daya untuk setiap proses secara berurutan yang sanggup menimbulkan 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.
Kaprikornus sanggup kita lihat garis yang utuh (tidak putus2) ibarat pada R1 menunjuk ke P1. Artinya R1 sudah dialokasikan di P1 sedangkan P1 meminta R2 tapi dengan garis putus2. Garis putus2 ini menandakan 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 ibarat ini
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
Cara Praktis Memperbaiki Blue Screen Pada Windows
Pengen Buat Windows Kita Blue Screen ? Begini Caranya !
Semoga bermanfaat :D Jangan lupa share :) Sumber http://komputer67.blogspot.com
0 Response to "Penjelasan Lengkap Ihwal Deadlock Pada Komputer"
Posting Komentar