- Back to Home »
- TUGAS SISTEM OPERASI : SINKRONISASI DAN DEADLOCK
Posted by : Unknown
2 Mei 2013
Pencegahan Deadlock
Metode ini merupakan metode yang
paling sering digunakan.Metode Pencegahan dianggap sebagai solusi yang bersih
dipandang dari sudut tercegahnya deadlock.
Tetapi pencegahan
akan mengakibatkan kinerja utilisasi sumber daya yang buruk.
Metode pencegahan menggunakan
pendekatan dengan cara meniadakan empat syarat yang dapat menyebabkan deadlock
terjadi pada saat eksekusi Coffman (1971).
Syarat pertama yang akan dapat
ditiadakan adalah Mutual Exclusion, jika tidak ada sumber 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 sumber daya, yaitu
dengan mengantrikan job-job pada
antrian dan akan dilayani satu-satu.
Hal inilah
yang menyebabkan mengapa syarat pertama tidak dapat ditiadakan, jadi mutual exclusion benar-benar tidak dapat
dihilangkan.
Cara kedua dengan meniadakan kondisi
hold
and wait terlihat lebih menjanjikan. Jika suatu proses yang sedang
menggunakan sumber daya dapat dicegah agar tidak dapat menunggu sumber daya
yang lain, maka deadlock dapat
dicegah. Langkah yang digunakan adalah dengan membuat proses agar meminta sumber
daya yang mereka butuhkan pada awal proses sehingga dapat dialokasikan sumber
daya yang dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka
proses tersebut tidak dapat memulai prosesnya.
ii. Tidak optimalnya pengunaan sumber
daya jika ada sumber daya yang digunakan hanya beberapa waktu dan tidak
digunakan tapi tetap dimiliki oleh suatu proses yang telah memintanya dari
awal.
Meniadakan syarat
ketiga non preemptiveternyata tidak lebih menjanjikan dari meniadakan
syarat kedua, karena dengan meniadakan syarat ketiga maka suatu proses dapat
dihentikan ditengah jalan. Hal ini tidak dimungkinkan karena hasil dari suatu
proses yang dihentikan menjadi tidak baik.
Cara terakhir adalah dengan
meniadakan syarat keempat circular wait. Terdapat dua
pendekatan, yaitu:
i. Mengatur agar setiap proses hanya
dapat menggunakan sebuah sumber daya pada suatu waktu, jika menginginkan sumber
daya lain maka sumber daya yang dimiliki harus dilepas.
ii. Membuat penomoran pada proses-proses
yang mengakses sumber daya. Suatu proses dimungkinkan untuk dapat meminta
sumber daya 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 sumber daya, untuk suatu proses yang
kompleks dibutuhkan banyak sumber daya pada saat yang bersamaan. Sedangkan
dengan penomoran masalah yang dihadapi adalah tidak terdapatnya suatu penomoran
yang dapat memuaskan semua pihak.
Secara ringkas pendekatan yang
digunakan pada metode pencegahan deadlock dan masalah-masalah yang
menghambatnya, terangkum dalam tabel dibawah ini.
Syarat
|
Langkah
|
Kelemahan
|
Mutual Exclusion
|
Spooling sumber daya
|
Dapat menyebabkan chaos
|
Hold and Wait
|
Meminta sumber daya di awal
|
Sulit memperkirakan di awal dan tidak optimal
|
No Pre-emptive
|
Mengambil sumber daya di tengah proses
|
Hasil proses tidak akan baik
|
Circular Wait
|
Penomoran permintaan sumber daya
|
Tidak ada penomoran yang memuaskan semua pihak
|
Penghindaran Deadlock
Pendekatan metode ini adalah dengan
hanya memberi kesempatan ke permintaan sumber daya yang tidak mungkin akan
menyebabkan deadlock. Metode ini
memeriksa dampak pemberian akses pada suatu proses, jika pemberian akses tidak
mungkin menuju kepada deadlock, maka
sumber daya akan diberikan pada proses yang meminta. Jika tidak aman, proses
yang meminta akan di-suspend sampai
suatu waktu permintaannya aman untuk diberikan. Kondisi ini terjadi ketika
setelah sumber daya yang sebelumnya dipegang oleh proses lain telah dilepaskan.
Kondisi aman yang dimaksudkan
selanjutnya disebut sebagai safe-state,
sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya yang
diminta disebut unsafe-state.
Kondisi Aman (Safe state)
Suatu keadaan dapat dinyatakan
sebagai safe state jika tidak terjadi
deadlock dan terdapat cara untuk
memenuhi semua permintaan sumber daya yang ditunda tanpa menghasilkan deadlock. Dengan cara mengikuti urutan
tertentu.
Kondisi Tak Aman (Unsafe state)
Suatu state dinyatakan sebagai state
tak selamat (unsafe state) jika tidak
terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan
menjalankan proses-proses dengan suatu urutan.
Pendeteksi Deadlock
dan Recovery (Memulihkan )Deadlock
Metode ini mengunakan pendekatan
dengan teknik untuk menentukan apakah deadlocksedang
terjadi serta proses-proses dan sumber daya yang terlibat dalam deadlock
tersebut.Setelah kondisi deadlock
dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan.Langkah pemulihan tersebut adalah
dengan memperoleh sumber daya yang diperlukan oleh proses-proses yang
membutuhkannya. Beberapa cara digunakan untuk mendapatkan sumber daya yang
diperlukan, yaitu dengan terminasi proses dan pre-emption (mundur) suatu proses. Metode ini banyak digunakan pada
komputer mainframe berukuran besar.
Materi selanjutnya bisa anda baca di link blog berikut ini : Yuni Blog