Proses . Kumpulan Makalah | Blogger Lampung Tengah SO

Gambar di atas menunjukkan beberapa hal sebagai berikut: 1. P0 meminta sumber daya dari R1 2. R1 memberikan sumber dayanya kepada P1 3. R1 memberikan satu instans sumber dayanya kepada P2 4. P2 meminta sumber daya pada P0 5. R0 memberikan sumber daya pada P3 6. P3 meminta sumber daya pada R2 7. R2 mengalokasikan sumber daya pada P0

24.4. Algoritma Bankir

Algoritma ini dapat digambarkan sebagai seorang bankir Resources di kota kecil yang berurusan dengan kelompok orang yang meminta pinjaman Proses. Jadi algoritma bankir ini mempertimbangkan apakah permintaan mereka itu sesuai dengan jumlah dana yang ia miliki, sekaligus memperkirakan jumlah dana yang mungkin diminta lagi. Jangan sampai ia berada pada kondisi dimana dananya habis dan tidak dapat meminjamkan uang lagi. Jika hal tersebut terjadi, maka akan terjadi kondisi deadlock. Agar kondisi aman, maka asumsi setiap pinjaman harus dikembalikan waktu yang tepat. Untuk sumber daya dengan instan banyak, ketika sebuah proses meminta sumber daya ia harus menunggu terlebih dahulu. Ketika sebuah proses telah mendapatkan semua sumber dayanya ia harus mengembalikannya dalam suatu batasan waktu. Algoritma ini dapat ditulis secara lebih jelas sebagai berikut: Let P ={P1, P2, P3, ...., Pn}be set of all processes while P is not empty do Seek Pi, an element of P that can finish If no Pi can be found then End algorithm: state is unsafe else Remove Pi from P Return resource of Pi to allocated pool end if end while End algorithm: state is safe 174 Implementasi Algoritma Bankir Keterangan soal Diketahui: Set P terdiri dari 2 proses P1 P2. Set R terdiri dari 2 sumber dayaR1 R2. R1 = 5 instan ; R2 = 2 instan Implementasi menggunakan Algoritma Bankir. Prioritas pada proses dengan indeks kecil Setelah semua sumber daya terpenuhi, proses akan mengembalikan semua sumber daya tsb. Gambarkan kondisi saat T0 sampai Tn saat kondisi semua sumber daya sudah dikembalikan ke R masing-masing Gambar 24.9. Jawaban soal Pada saat T0, P1 mendapatkan 2 resource dari R1 pada saat bersamaan P1 meminta 2 resource ke R1 dan 1 resource ke R2. Sedangkan P2 mendapatkan 2 resource dari R1 dan pada waktu yang bersamaan P2 meminta 1 resource ke R1 dan 1 resource ke R2. Pada saat T1, P1 belum mendapatkan resource yang dimintanya pada waktu T0 dari R2, karena P1 masih belum mendapatkan seluruh resource R1 . Alokasi dari R1 masih tetap terjadi karena pada P1 masih terjadi proses meminta resource R1. P1 masih belum mendapat alokasi karena resource R1 tidak mencukupi untuk diberikan ke P1. Sedangkan pada P2, request edge-nya ke R1 pada waktu T0 telah berubah menjadi assignment edge, karena request P2 dapat dipenuhi oleh R1. P2 juga memperoleh resource yang dimintanya pada waktu T0 dari R2 Pada saat T2 , P1 telah mendapatkan semua resource yang dimintanya dari R1, karena P2 telah melepaskan semua resource R1 yang dimilikinya. Pada saat T3, P1 telah melepaskan semua resource yang dimilikinya sehingga R1 dan R2 sudah mendapatkan semua resource-nya kembali dan sudah dapat digunakan oleh proses yang lain.

24.5. Metode Pendeteksian

Deadlock akan terjadi, jika dan hanya jika grafik tunggu memiliki siklus di dalamnya.Untuk mendeteksi deadlock, sistem harus memiliki grafik tunggu dan menjalankan algoritma deteksi deadlock secara periodik. Hal yang harus diperhatikan adalah seberapa sering algoritma deteksi 175