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:
- Algoritma Page Replecement
- Contoh Soal Safe/Unsafe State untuk menghindari Deadlock
- Safe/Unsafe State untuk menghindari Deadlock
- Contoh Multi Programing dengan Partisi Dinamis
- Contoh Algoritma FIFO
Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.
ini blog nya lengkap, sesuai sama matkul OS saya.. trimakasih sangat membantu ;)
BalasHapuspermisi gan saya kurang paham dengan
BalasHapusR 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
Wah saya lupa menjelaskan hal itu,
Hapusdi 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
Thanks you Man
BalasHapus