Langsung ke konten utama

Safe/Unsafe State untuk menghindari Deadlock

Menentukan aman atau tidak amannya alokasi proses ditentukan untuk menghindari terjadinya deadlock. Safe state diartikan dengan banyaknya sumberdaya yang sudah dialokasikan terhadap masing-masing proses. Sedangkan Unsafe state diartikan sebagai banyaknya sumberdaya yang belum dialokasikan kepada masing-masing proses, sehingga masih ada sumberdaya yang digunakan oleh beberapa proses. Contohnya yaitu:

Terdapat sumberdaya atau R=10
Tentukan pengalokasian agar tidak terjadi deadlock!
dengan sisa Resource yang ada yaitu 10-6=4


Jawab:

Yang pertama R akan dialokasikan ke A. Sehingga akan mendapat hasil seperti berikut: 
Sisa 10-10=0 (tidak ada sisa sumberdaya yang dapat digunakan) 
Dari pengalokasian diatas, ternyata mendapatkan hasil unsafe, jadi artinya terjadi deadlock apabila proses A dialokasikan pertama. Dimana proses A tidak pernah selesai untuk diproses dan proses B&C menunggu terus menerus. Maka dengan itu, kita akan mencari proses lain, yang akan di proses lebih awal sehingga tidak terjadi deadlock.

Melihat hal di atas, kemudian merubah susunan pengalokasian proses, dimana yang dialokasikan pertama adalah proses B. Pada awal siklus akan diperoleh hasil seperti berikut:
Sisa 10-8=2
Diakhir siklus akan diperoleh hasil seperti berikut:
Sisa 10-5=5 (terdapat 5 sumberdaya yang bisa digunakan/safe state) 
Setelah pengalokasian ke proses B, akan dilanjutkan ke pengalokasian ke proses C. Dimana diawal proses akan diperoleh hasil seperti berikut: 
Sisa 10-9=1
Diakhir siklus akan diperoleh hasil seperti berikut: 
Sisa 10-2=8 (terdapat 8 sumberdaya yang bisa digunakan/ safe state) 
Dan yang terakhir, pengalokasian dilakukan ke proses A. Sehingga di awal siklus didapat hasil seperti berikut: 
Sisa 10-10=0
Diakhir siklus akan diperoleh hasil seperti berikut:
Sisa 10-0=10 (Terdapat 10 sumberdaya yang bisa digunakan dan sekaligus tidak ada proses yang akan diproses lagi). Dengan ini tidak terjadi deadlock.

Artikel Terkait:

Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.

Komentar

  1. ini blog nya lengkap, sesuai sama matkul OS saya.. trimakasih sangat membantu ;)

    BalasHapus
  2. permisi gan saya kurang paham dengan
    R Alokasi
    terjadi death lock
    A 2+4 > 4 ini darimana

    yang safe

    B 1+2=3 > 3 ini dari mana
    C 3+4=7 > 4 ini dari mana
    A 2+8=10 > 8 ini darimana

    tolong jawabanya

    BalasHapus
    Balasan
    1. Wah saya lupa menjelaskan hal itu,
      di dalam soal dijelaskan terdapat sisa resource yg bisa digunakan yaitu 4 (lihat soal)

      untuk proses A membutuhkan resource 10 dan yg bisa diproses adalah 4 ditambah dengan alokasi yg tersedia yaitu 2. setelah dihitung secara keseluruhan proses ini kemungkinan akan membuat dead lock.

      kemudian dibuatlah skema baru yang memakai proseb B, proses B hanya membutuhkan maksimal resource 3. Untuk memproses maka alokasi 1 + 2 = 3. 3 adalah maksimal yang dibutuhkan untuk proses ini. setelah dihitung proses ini aman untuk dilakukan.

      untuk proses C sama dengan B, dia hanya membutuhkan 7 resource dan dia punya 3 yang telah teralokasi. kemudian sisa resource yg ada di awal adalah 4 jadi 3 + 4 = 7 proses bisa dijalankan.

      kurang lebih seperti itu. semoga membantu

      Hapus

Posting Komentar

Tolong berkomentar yang baik dan sopan