Deadlock adalah suatu kondisi dimana 2 proses atau lebih tidak dapat meneruskan eksekusinya bisa dikatakan juga seperti “hang”, karena proses tersebut saling memperebutkan resource dan saling menunggu pesan dan proses lain
untuk waktu yang tidak terbatas lamanya.
untuk waktu yang tidak terbatas lamanya.
Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau tidak ada komunikasi lagi antar proses
Analoginya seperti pada kondisi di jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses. Deadlock bisa digambarkan sebagai berikut :
KONDISI YANG DIPERLUKAN
Deadlock terjadi bila terdapat empat kondisi berikut ini secara simultan.
- A. Mutual Exclusion,
- yaitu suatu keadaan dimana hanya ada satu proses saja yang boleh memakai resource, proses yang lain harus menunggu sampai proses tadi benar-benar selesai. contoh mutual exclusion adalah “buffering” ketika kita menonton video.
- B. Hold and Wait,
- yaitu keadaan dimana suatu proses menunggu suatu sumber daya dalam waktu yang lama hingga sumberdaya tersebut tidak terpakai oleh proses lainnya.
- C. No Pre-emption,
- yaitu keadaan dimana suatu sumberdaya tidak boleh diambil begitu saja/secara paksa oleh proses yang lainnya sehingga suatu proses harus menunggu hingga proses yang sedang memakai sumberdaya benar-benar telah selesai.
- d. Circular Wait,
- yaitu suatu keadaan dimana proses yang lain membutuhkan sumberdaya yang sedang dipakai oleh suatu proses sehingga timbul antrian melingkar (waiting chain) seperti halnya rantai.
Intinya deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain, proses lain itu pun sedang menunggu sumber daya yang dipegang olehnya. jadi ketiga syarat pertama merupakan syarat perlu (necessary conditions) bagi terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu.tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock. Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Namun bila salah satu saja dari kondisi tidak terpenuhi maka deadlock tidak terjadi.
METODE MENANGANI DEADLOCK
Terdapat tiga metode untuk menangani permasalahan deadlock yaitu :- Menggunakan protocol untuk menjamin bahwa sistem tidak pernah memasuki status deadlock
- Mengijinkan sistem memasuki status deadlock dan kemudian memperbaikinya.
- Mengabaikan permasalahan dan seakan-akan deadlock tidak pernah terjadi pada sistem. Model ini yang banyak digunakan pada sistem operasi termasuk UNIX
MODEL SISTEM
beberapa sumber daya (resource) yang digunakan untuk proses –proses untuk menyelesaikan task. Sumber daya yang ada pada sistem terdiri dari tipe resource CPU cycle, ruang memori, perangkat I/O.Setiap proses yang menggunakan sumber Daya menjalankan urutan operasi sebagai berikut :
1 komentar:
Click here for komentarsiip mantap ,
kunjungi : http://blog.binadarma.ac.id/ilmanzuhriyadi/
Out Of Topic Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon