Followers


Pengertian Deadlock atau Jalan Buntu Pada Sistem Operasi

Posted by Hari Sobri

(AKN-ALL KNOWLEDGE) - Deadlock atau bisa disebut dengan Jalan Buntu.  Secara garis besar Jalan buntu, mogok. Proses saling tunggu menunggu sumber lain selamanya, sementara satu proses hanya boleh menggunakan satu sumber daya, dan masing-masing tidak bisa melepaskan yang sedang digunakan.

Arti istilah Deadlock detection dianggap berkaitan erat dengan pengertian berikut
Metode deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock. tujuan metode ini adalah memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumber daya-sumber daya yang terlibat deadlock secara presisi. Begitu telah dapat ditentukan, sistem dipulihkan dari deadlock dengan metode pemulihan. Metode pemulihan dari deadlock, untuk menghilangkan deadlock system, sehingga beroperasi kembali, dan bebas dari deadlock. Proses-proses yang terlibat deadlock mungkin dapat menyelesaikan eksekusi dan membebaskan sumber daya-sumber daya.

Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya. Proses menunggu terus menerus, sementara sumber daya yang ditunggu tidak akan pernah didapatkan.
Misalnya:
  • Dua proses P1 dan P2
  • Dua sumber daya kritis R1 dan R2
  • Proses P1 dan P2 harus mengakses keuda sumber daya Kondisi berikut dapat terjadi: R1 diberikan ke P1, sedang R2 diberikan ke P2. Karena untuk melanjutkan eksekusi, memerlukan kedua sumber daya sekaligus, maka kedua proses akan saling menunggu sumber daya lain selamanya. Metode mengatasi deadlock ini adalah sebagai berikut:
1. Metode pencegahan terjadinya deadlock (deadlock prevention),
2. Metode penghindaran terjadinya deadlock (deadlock avoidance),
3. Metode deteksi dan pemulihan dari deadlock (deadlock detection and recovery).

Resources (1)
  • Contoh resources sistem komputer
  • printers
  • tape drives
  • Proses-proses membutuhkan akses ke resource secara teratur
Contoh 1 :
  1. Suatu proses memegang (hold) resource A dan meminta resource B
  2. Pada saat yang sama proses lain sedang memegang resource B dan meminta resource A
  3. Masing-masing proses melakukan block, dalam kondisi seperti ini terjadi deadlock

Resources (2)
Contoh 2 :
  • Semaphores A dan B, di-inisialisasi 1
P0 P1
wait (A); wait(B)
wait (B); wait(A)
. .
. .
. .
signal(A) signal(B)
signal(B) signal(A)

Resources (3)

Contoh 3 :
  • Bridge Crossing
  • Traffic hanya satu arah
  • Masing-masing bagian jembatan dapat digambarkan sebagai resource.
  • Jika deadlock terjadi, dapat diselesaikan dengan cara satu mobil mundur ke belakang.
  • Beberapa mobil harus kembali jika terjadi deadlock
  • Memungkinkan terjadinya starvation

Resources (4)
  • Deadlock terjadi ketika
  • Proses-proses diberikan hak akses secara eksklusif ke devices (resources)
  • Preemptable resources
  • Dapat diambil dari proses tanpa menimbulkan efek yang buruk
  • Nonpreemptable resources
  • Akan menyebabkan proses gagal jika diambil

4. Kondisi Terjadinya Deadlock

  • Kondisi Mutual exclusion
  • Nanya satu proses dalam satu waktu yang dapat memegang (hold) resource
  • Hold and wait condition
  • Suatu proses memegang satu resource dan me-request resource yang lain
  • No preemption condition
  • Resource hanya dapat di-release setelah proses menyelesaikan task-nya pada resource tersebut
  • Circular wait condition
  • Masing-masing proses menunggu resource yang digunakan oleh proses lain secara berantai.
  • Terdapat himpunan proses yang sedang menunggu {P0, P1, …, P0} sedemikian sehingga P0 menunggu resource yang dipegang oleh P1 , P1 sedang menunggu resource yang dipegang oleh P2, …, Pn–1 . Pn–1 menunggu resource yang dipegang oleh Pn . Dan Pn menunggu resource yang dipegang oleh P0 .

Metode-metode Penanganan Deadlocks

  • Memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi (state) deadlock.
  • Memungkinkan sistem untuk masuk ke dalam kondisi deadlock dan kemudian melakukan recovery (pemulihan).
  • Mengabaikan masalah deadlock dan membuat deadlock tidak pernah terjadi dalam sistem; digunakan pada OS umumnya (Unix).

Metode Pencegahan Deadlock (1)

Cara pencegahan (Prevention) dari sisi permintaan (request) resources :
  • Mutual Exclusion – tidak diperlukan untuk resource-resource yang di-share; harus dipegang (hold) untuk resource-resource yang tidak di-share (nonsharable resources).
  • Hold and Wait – harus dijamin bahwa kapanpun suatu permintaan proses pada resource, proses tersebut tidak memegang resource yang lain.
  • Membutuhkan proses untuk me-request dan mengalokasikan resources sebelum memulai eksekusi, atau membolehkan proses untuk me-request resource hanya ketika proses tidak sedang memegang resource.
  • Utilisasi resource yang rendah memungkinkan terjadinya starvation.

Metode Pencegahan Deadlock (2)
  • No Preemption
  • Jika suatu proses yang memegang beberapa resource me-request resource yang lain yang tidak dapat secara langsung dialokasikan, maka semua resource yang sedang dipegang dibebaskan (released).
  • Preempted resources ditambahkan ke list resources dimana proses sedang menunggu.
  • Proses akan di-restart hanya jika dapat mengambil kembali (regain) resource, juga resource yang baru yang di-request.
  • Circular Wait
  • Membuat penomoran pada proses-proses yang mengakses resource. Suatu proses dimungkinkan untuk dapat meminta resource kapanpun, tetapi permintaannya harus dibuat terurut.

Syarat Langkah Kelemahan
  • Mutual Exclusion Spooling resource Dapat menyebabkan chaos
  • Hold & Wait Meminta resource diawal Sulit memperkirakan di awal dan tidak optimal
  • No Pre-emptive Mengambil resource di tengah jalan Hasil proses tidak akan baik
  • Circular Wait Penomoran permintaan resource Tidak ada penomoran yang memuaskan semua pihak

Metode Penghindaran Deadlock (1)

  • Memberi kesempatan ke permintaan resource yang tidak mungkin menyebabkan deadlock.
  • Jika pemberian akses tidak mungkin mengarah pada deadlock, maka resource akan diberikan pada proses yang meminta.
  • Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan.
  • Kondisi aman (safe state)
  • Jika tidak terjadi deadlock
  • Kondisi tidak aman (unsafe state)
  • Jika tidak terdapat cara untuk memenuhi semua permintaan

Metode Penghindaran Deadlock (2)
  • Membutuhkan sistem yang memiliki informasi resource yang tersedia.
  • Masing-masing proses memastikan jumlah maksimum resource yang diperlukan.
  • Algoritma penghindaran (avoidence) deadlock memastikan tidak akan terjadi kondisi circular wait.
  • Kondisi (state) alokasi resource didefinisikan sebagai jumlah dan alokasi resource yang tersedia dan maksimum permintaan resource oleh proses.

Basic Facts
  • Jika sistem dalam kondisi aman (safe state) Þ tidak ada deadlock.
  • Jika sistem dalam kondisi tidak aman (unsafe state) Þ kemungkinan dapat terjadi deadlock
  • Pendekatan penghindaran (avoidence) memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi unsafe state.

Deteksi dan Pemulihan Deadlock
  • Menentukan apakah deadlock sedang terjadi, kemudian proses-proses dan resource yang terlibat dalam deadlock tersebut.
  • Setelah kondisi deadlock terdeteksi, maka langkah pemulihan deadlock dilakukan.

Cara Pemulihan Deadlock
  • Ada beberapa cara untuk pemulihan deadlock :
  1. Menggagalkan semua proses yang deadlock
  2. Mem-backup semua proses yang deadlock dan me-restart semua proses tersebut
  3. Menggagalkan proses-proses yang deadlock secara berturut-turut hingga tidak ada deadlock.
  4. Menggagalkan pengalokasian resource-resource secara berturut-turut hingga tidak ada deadlock.
  • Kriteria proses-proses yang akan disingkirkan :
  1. Memiliki waktu proses (yang telah berjalan) kecil.
  2. Jumlah keluaran sedikit
  3. Memiliki estimasi sisa waktu eksekusi terbesar.
  4. Jumlah total resource terkecil yang telah dialokasikan
  5. Memiliki prioritas terkecil 

Klik tombol like diatas... Jika anda menyukai artikel ini.
Terima Kasih telah mengunjungi Blog ini,
Jangan lupa untuk memberikan komentar, kritik maupun saran pada form dibawah post ini...

Share / Bagikan Artikel ini ke teman Anda :

{ 4 comments ... Tambahkan Komentar Anda }

Anonymous said...

Lulus Sekolah

Share
Banyak pengalaman yang gue alamin selepas lulus SMK. Pengalaman kerja, pengalaman organisasi, dan pengalaman lain yang berhubungan dengan itu.

Juli 2008
----------
Waktu itu gue baru lulus Sekolah, bahkan ijazah pun belum keluar seinget gue tapi gue udah coba ngelamar-lamar kerja kali aja diterima. Panggilan interview pertama gue sebagai staff di PT.MUGC Bogor, perusahaan Eximp indonesia. Ternyata temen satu sekolah gue juga dipanggil di PT yang sama di hari yang sama. Akhirnya gue berangkat berdua hari esoknya. Disana gue interview beberapa menit, dan akhirnya gue diterima dengan gampangnya (karena gue baru pertama Interview jadi gue pikir wajar-wajar aja) tapi itu pun dengan syarat. Gue pikir syaratnya apa, dan ternyata syaratnya adalah membayar Rp.25.000 (untuk administrasi atau apa gue lupa) dan juga menawarkan dan menjual salahsatu produk elektronik yang mereka jual, ke keluarga atau siapapun yang kira-kira mau membeli produk tersebut dengan harga yang lebih mahal dari biasanya. Itu merupakan syarat dan juga tes kemampuan bagaimana mengkomunikasikan sesuatu dan membuat orang percaya akan apa yang kita komunikasikan tersebut. Akhirnya gue mengiyakan tawaran itu dengan membayar uang tersebut dan akan kembali besoknya setelah berhasil menawarkan produk mereka dengan harga relatif lebih mahal.

Pas gue pulang dari kantor itu, gue ketemu sama seorang lelaki yang keliatannya juga pelamar kerja sama kaya gue (keliatan dari style dan penampilannya) tapi mungkin beda perusahaan. Dia bilang kalo dia juga pernah Interview di PT yang sama kaya gue, dan dia bahkan melakukan syarat yang mereka ajukan. Dan ternyata setelah ia kerja disana justru dijadikan sales marketing di perusahaan terbebut hingga akhirnya dia keluar (karena jadi sales perlu keahlian komunikasi yang baik dan dia gak punya keahlian itu). Padahal pas gue interview mereka bilang dengan jelas kalo kerjaan gue ntar bukan jadi sales, dan gue juga gak mau jadi sales karena berbagai pertimbangan apalagi gue lulusan SMK Komputer (TKJ). Tapi pas gue dan temen gue tinggalin orang itu, temen gue malah bilang
"Mungkin gak sih orang itu tadi juga ujian/tes buat

read more on http://facebri.blogspot.com

Anonymous said...

Gk Lulus sekolah

Share
Kemarin tunggir saya gatal - gatal , setelah saya ke Klinik Tong sam Cong tunggir saya sudah tidak arateul liang tokai lagi. Terima kasih Tong sam cong.

Muhammad Faris Al Fatih said...

baru tau saya sob kalau deadlock itu bahasa lain dari ngelek atau hang.. ^^

terima kasih ya atas ilmu yang sangat bermanfaat.. ^^

imam ciprut said...

Keren sob

www.kiostiket.com

Post a Comment

BERIKAN KOMENTAR DI SINI !!