Sebuah cara visual (matematika) untuk menentukan apakah ada deadlock, atau kemungkinan terjadinya.
G
= (V, E) Graf berisi node
and edge. Node V terdiridari proses-proses =
{P1, P2, P3, ...}dan jenis resource.
{R1, R2, ...} Edge E adalah (Pi, Rj) atau (Ri, Pj)
Sebuah panah dari process ke resource menandakan proses meminta resource.
Sebuah panah dari resource keprocess menunjukkan sebuah instance dari resource telah di tempatkan ke proses. Process adalah lingkaran, resource adalah kotak, titik -
titik merepresentasikan jumlah instance dari resource dalamtipe.
Memintapoin-poinkekotak, perintah datang dari titik.
Jika graf tidakberisilingkaran, maka tidak ada proses yang deadlock. Jika membentuk lingkaran,
maka:
2.
Memastikan bahwa deadlock tidak akan pernah ada,
baik dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi.
Metode Menghindari deadlock,
yaitu mengizinkan empat kondisi deadlock,
tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock.
3.
Membiarkan deadlock untukterjadi,
pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu:
4. Strategi Ostrich
Pendekatan
yang paling sederhana adalah dengan menggunakan strategi burungunta:
masukkan kepala dalam pasirdanseolah-olah tidakpernaha da masalah samasekali.
Beragam pendapat munculberkaitan dengan strategi ini. Menurut para ahli Matematika,
cara ini samasekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut
para ahliTeknik,
jika komputer lebihsering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistemoperasi. Maka ongkos
yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut.
Metode ini diterapkan pada sistem operasi UNIX dan MINIX.
5.
Mencegah Deadlock
Metode ini merupakanmetode
yang paling sering digunakan. MetodePencegahandianggapsebagaisolusi yang bersihdipandangdarisudut tercegahnya deadlock.
Tetapi pencgahanakanmengakibatkankinerjautilisasis umberdaya yang buruk.
Metode pencegahan menggunakan pendekatan dengan cara meniadakan empatsyarat
yang dapat menyebabkan deadlock terjadi pada saateksekusi Coffman (1971).
Syarat pertama
yang akan dapat ditiadakan adalah Mutual
Exclusion, jika tidak adasumber daya yang
secara khusus diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock.
Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang
sama akan menyebabkan chaos.
Langkah yang digunakan adalah dengan spooling sumbe rdaya,
yaitu dengan mengantrikan job-job pada antrian dan akan dilayanisatu-satu.
2. Kompetisipadaruang
disk untuk spooling sendiridapatmengarahpada deadlock
Hal inilah yang
menyebabkanmengapasyaratpertamatidakdapatditiadakan, jadi mutualexclusion benar-benartidakdapatdihilangkan.
Cara
keduadenganmeniadakankondisi hold
and wait terlihatlebihmenjanjikan.
Jikasuatu proses yang sedangm enggunakan sumberdaya dapat dicegah agar
tidak dapat menunggu sumberdaya yang lain, maka deadlock dapat dicegah.
Langkah yang digunakan adalah dengan membuat proses agar meminta sumberdaya yang
mereka butuhkan pada awal proses sehingga dapat dialokasikan sumberdaya yang
dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka proses
tersebut tidak dapa tmemulai prosesnya.
2. Tidak optimalnya pengunaan sumberdaya jika ada sumberdaya
yang digunakan hanya beberapa waktudan tidak digunakan tapi tetap dimiliki olehsuatu
proses yang telah memintanya dari awal.
Meniadakan syarat ketiga non
preemptive ternyata tidak lebih menjanjikan dari meniadakan syarat kedua,
karena dengan meniadakan syarat ketigamaka suatu proses
dapat dihentikan ditengah jalan. Hal initidakdi mungkinkan karena hasil dari suatu
proses yang dihentikan menjadi tidak baik.
Cara
terakhir adalah dengan meniadakan syara tkeempat circular
wait. Terdapat dua pendekatan, yaitu:
1.
Mengatur agar setiap proses
hanya dapat menggunakan sebuah sumberdaya pada suatu waktu, jika menginginkan sumberdaya
lain maka sumberdaya yang dimiliki harus dilepas.
2. Membuat penomoran pada
proses-proses yang mengakses sumberdaya. Suatu proses dimungkinkan untuk dapat meminta sumberdaya kapan
pun, tetapi permintaannya harus dibuat terurut.
Masalah
yang mungkin terjadi dengan mengatur bahwa setiap proses hanya dapat memiliki satu
proses adalah bahwa tidak semua proses hanya membutuhkan satu sumberdaya, untuk suatu
proses yang kompleks dibutuhkan banyaks umberdaya pada saat yang bersamaan.
Sedangkan dengan penomoran masalah yang
dihadapi adalah tidak terdapatnya suatu penomoran yang dapat memuaskan semua pihak.
Penjelasanselanjutnyadapat
di bacapada blog berikut : “link blog alif”
No comments:
Post a Comment