DEADLOCK


Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya oleh pemroses. Pada umumnya deadlock terjadi karena proses mengalami startvation.   
Startvation adalah keadaan dimana pemberian akses bergantian terus menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.

Kondisi yang dapat menimbulkan terjadinya deadlock:
  •  Mutual exclusion.
  •  Hold & Wait.
  •  No Preemption.
  • Circular Wait Condition.

Sumber Daya (Resources)
  Sumber daya (resource): komoditas yg. diperlukan oleh proses
  Contoh resources sistem komputer
  • printers
  • tape drives
  • Memory, dll
  Sumber daya dapat berupa:
serially reusable,  contoh: CPU, memory, ruang disk, perangkat I/O, file
peroleh => gunakan => lepaskan
      consummable – dibuat/ diperlukan oleh proses,
contoh: pesan,  buffer informasi,  interrupt
buat => peroleh =>  gunakan
Sumberdaya habis setelah digunakan, karena itu tidak ada pelepasan sumberdaya.


Sumber daya bersifat:
a)      Preemptible, contoh: CPU, memori utama
b)      non-preemptible, contoh: tape drives

Sumber daya bisa digunakan secara:
a)      Bersama, oleh beberapa proses
b)      Terdedikasi, secara eksklusif oleh satu proses

Urutan event yg dilakukan dalam penggunaan sumber daya:
1. Permintaan sumber daya
2. Penggunaan sumber daya
3. Pelepasan sumber daya

Harus menunggu jika request ditolak
a)      proses yang meminta mungkin diblokir, atau
b)      proses gagal dgn mengeluarkan kode kesalahan 
Proses-proses membutuhkan akses ke resource secara teratur.
Contoh 1 : Suatu proses memegang (hold) resource A dan meminta resource B, pada saat yang sama proses lain sedang memegang resource B dan meminta resource A masing-masing proses melakukan block, dalam kondisi seperti ini maka terjadi deadlock.

0 komentar:

Posting Komentar

Copyright © JaMan Jani - Blogger Theme by BloggerThemes