A deadlock situation on a resource can arise only if all of the following conditions occur simultaneously in a system: Mutual exclusion: multiple resources are not shareable; only one process at a time may use each resource.
Situasi kebuntuan pada suatu sumber daya hanya dapat muncul jika seluruh kondisi berikut terjadi secara bersamaan dalam suatu sistem: Pengecualian bersama : Setidaknya satu sumber daya harus disimpan dalam mode yang tidak dapat dibagikan; artinya, hanya satu proses pada satu waktu yang dapat menggunakan sumber daya tersebut.
In general, there is a set of waiting processes, P{P1, P2, ..., PN}, such that P1 is waiting for a resource held by P2, P2 is waiting for a resource held by P3 and so on until PN is waiting for a resource held by P1.
Secara umum, ada serangkaian proses menunggu, P{ P 1, P 2, ..., P N }, sehingga P 1 menunggu sumber daya yang dimiliki oleh P 2, P 2 menunggu sumber daya yang dimiliki oleh P 3 dan seterusnya hingga PN menunggu sumber daya dimiliki oleh
Most approaches work by preventing one of the four Coffman conditions from occurring, especially the fourth one.
Sebagian besar pendekatan bekerja dengan mencegah terjadinya salah satu dari empat kondisi umum, terutama yang keempat.
This approach was initially used by MINIX and UNIX.
Pendekatan ini awalnya digunakan oleh MINIX dan UNIX.
An example is the RTIC framework.
Contohnya adalah kerangka RTIC.
An algorithm is employed that tracks resource allocation and process states, it rolls back and restarts one or more of the processes in order to remove the detected deadlock.
Algoritma digunakan untuk melacak alokasi sumber daya dan status proses, lalu memutar kembali dan memulai ulang satu atau lebih proses untuk menghilangkan kebuntuan yang terdeteksi.
But the expense is high as partial computations will be lost.
Namun biayanya tinggi karena sebagian perhitungan akan hilang.
Several factors must be considered while choosing a candidate for termination, such as priority and age of the process.
Beberapa faktor harus dipertimbangkan saat memilih kandidat untuk penghentian, seperti prioritas dan usia proses.
Removing the mutual exclusion condition means that no process will have exclusive access to a resource.
Menghapus kondisi saling pengecualian berarti tidak ada proses yang memiliki akses eksklusif ke sumber daya.
This proves impossible for resources that cannot be spooled.
Hal ini terbukti mustahil bagi sumber daya yang tidak dapat dikumpulkan.
Algorithms that avoid mutual exclusion are called non-blocking synchronization algorithms.
Algoritma yang menghindari saling pengecualian disebut algoritma sinkronisasi nirhalang.
The hold and wait or resource holding conditions may be removed by requiring processes to request all the resources they will need before starting up (or before embarking upon a particular set of operations).
Kondisi tunggu dan tahan atau simpanan sumber daya dapat dihilangkan dengan mewajibkan proses untuk meminta semua sumber daya yang diperlukan sebelum memulai (atau sebelum memulai serangkaian operasi tertentu).
This advance knowledge is frequently difficult to satisfy and, in any case, is an inefficient use of resources.
Pengetahuan tingkat lanjut ini sering kali sulit dipenuhi dan, dalam kasus apa pun, merupakan penggunaan sumber daya yang tidak efisien.
This too is often impractical.
Hal ini juga sering kali tidak praktis.
It is so because resources may be allocated and remain unused for long periods.
Hal ini terjadi karena sumber daya mungkin dialokasikan dan tidak digunakan dalam jangka waktu lama.
Also, a process requiring a popular resource may have to wait indefinitely, as such a resource may always be allocated to some process, resulting in resource starvation.
Selain itu, suatu proses yang membutuhkan sumber daya populer mungkin harus menunggu tanpa batas waktu, karena sumber daya tersebut mungkin selalu dialokasikan ke suatu proses, sehingga mengakibatkan kekurangan sumber daya .
(These algorithms, such as serializing tokens, are known as the all-or-none algorithms.)
(Algoritma ini, seperti serialisasi token, dikenal sebagai algoritma semua atau tidak sama sekali .)
If a process holding some resources and requests for some another resource(s) that cannot be immediately allocated to it, the condition may be removed by releasing all the currently being held resources of that process.
Jika suatu proses mempunyai beberapa sumber daya dan meminta beberapa sumber daya lain yang tidak dapat segera dialokasikan padanya, maka kondisi tersebut dapat dihilangkan dengan melepaskan semua sumber daya yang ada pada proses tersebut.
Approaches that avoid circular waits include disabling interrupts during critical sections and using a hierarchy to determine a partial ordering of resources.
Pendekatan yang menghindari menunggu melingkar termasuk menonaktifkan interupsi selama bagian penting dan menggunakan hierarki untuk menentukan pengurutan sebagian sumber daya.
Dijkstra's solution can also be used.
Solusi Dijkstra juga bisa digunakan.
The term was coined by Edward A. Ashcroft in a 1975 paper in connection with an examination of airline booking systems.
Istilah ini diciptakan oleh Edward A. Ashcroft dalam makalah tahun 1975 sehubungan dengan pemeriksaan sistem pemesanan maskapai penerbangan.
This can be avoided by ensuring that only one process (chosen arbitrarily or by priority) takes action.
Hal ini dapat dihindari dengan memastikan bahwa hanya satu proses (dipilih secara sewenang-wenang atau berdasarkan prioritas)