IF524 – Sistem Operasi

10 /

- 06 1

DEADLOCK (Lanjutan)
Menghindari Deadlock (Deadlock Avoidance) Lintasan Resource (Resource Trajectories) - Algoritma untuk menghindari deadlock bekerja berdasarkan “status aman” (safe state). - Contoh: Lintasan resource yang terdiri dari dua proses dan dua resource.

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

10 /

- 06 2

⇒Status Aman dan Tidak Aman - Contoh status (a) adalah aman, dimana terdapat total 10 buah resource. HAS MAX 3 9 2 4 2 7 Free : 3 (a) HAS MAX 3 9 0 2 7 Free : 5 (c) HAS MAX 3 9 0 0 Free : 7 (e) HAS MAX 3 9 4 4 2 7 Free : 1 (b) HAS MAX 3 9 0 7 7 Free : 0 (d)

A B C

A B C

A B C

A B C

A B C

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

10 /

- 06 3

- Status (b) adalah tidak aman. HAS MAX 3 9 2 4 2 7 Free:3 (a) HAS MAX 4 9 4 4 2 7 Free:0 (c) HAS MAX 4 9 2 4 2 7 Free:2 (b) HAS MAX 4 9 2 7 Free:4 (d)

A B C

A B C

A B C

A B C

⇒Algoritma Banker untuk satu jenis resource A B C D HAS MAX 0 6 0 5 0 4 0 7 Free : 10 (a) A B C D HAS MAX 1 6 1 5 2 4 4 7 Free : 2 (b)

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

10 /

- 06 4

A B C D

HAS MAX 1 6 2 5 2 4 4 7 Free : 1 (c)

⇒Algoritma Banker dengan banyak jenis resource
Proce ss Tape Drive Plotte rs Printe rs CD ROM Proce ss Tape Drive Plotte rs Printe rs CD ROM

A B C D E

3 0 1 0 1 0 1 1 1 1 1 0 0 0 0 resources assigned

1 0 0 1 0

A 1 1 0 B 0 1 1 C 3 1 0 D 0 0 1 E 2 1 1 resources still needed

0 2 0 0 0

E = ( 6342 ) P = ( 5322 ) A = ( 1020 ) Pencegahan Deadlock (Deadlock Prevention) ⇒Menghilangkan kondisi mutual exclusion
Edisi : 1 BINA NUSANTARA Revisi : 2 Sept - 2002

IF524 – Sistem Operasi

10 /

- 06 5

- Printer dapat di-spool. - Tidak semua alat dapat di-spool. - Prinsip: - Hindari pemberian resource yang tidak perlu. - Proses yang meng-claim resource diusahakan seminimal mungkin. ⇒ Menghilangkan kondisi hold dan wait - Proses mendapat semua resource-nya sebelum di-run. - Masalah: - Proses tidak mengetahui kebutuhannya. - Penggunaan resource yang tidak optimal. ⇒Menghilangkan kondisi no preemption - tidak dapat dilakukan. - Contoh: printer tidak dapat diambil dengan paksa saat sedang bekerja. ⇒Menghilangkan kondisi circular wait - Menentukan aturan, satu proses hanya dapat menggunakan satu resource (masalah: tidak dapat diterima semua proses). - Memberikan nomor dan meng-urutkan semua resource serta menetapkan aturan dalam meminta resource.

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

10 /

- 06 6

Isu-isu lain dalam Deadlock: - Two phase locking Phase satu: - proses melakukan lock pada data yang akan digunakan. Phase dua: - data di-update. - lock dilepaskan. - Non-resource Deadlock Deadlock juga dapat terjadi jika kita menuliskan urutan yang salah dalam operasi “down” untuk dua semaphore. - Starvation Memilih algoritma alokasi resource yang tidak menyebabkan starvation. Algoritma FCFS menghindari terjadinya starvation.

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002