Diketahui terdapat 2 proses yaitu P1 dan P2. Ada 2 tipe Resource A dan B masing-masing sejumlah 5 dan 3. Selanjutnya diketahui sumber daya yang telah dialokasikan dan kebutuhan maksimum masing-masing proses :
Hitunglah sisa kebutuhan untuk masing-masing proses, selanjutnya jadwalkan penggunaan sumber daya yang ada agar terhindar dari kondisi deadlock!Jawab:
Untuk menentukan sisa kebutuhan masing-masing proses dapat dilakukan dengan cara sebagai berikut:
Kolom need berisikan kebutuhan daripada proses A dan proses B.
Sekarang kita lakukan penjadwalan penggunaan sumber daya yang ada agar tidak terjadi deadlock, penjadwalannya dapat dilakukan dengan cara sebagai berikut: Yang pertama R akan dialokasikan ke P1:
Dari tabel di atas dapat di atas jumlah R (sumberdaya) yang dibutuhkan melebihi sumberdaya yang ada, jadi akan terjadi deadlock karena P1 tidak pernah selesai untuk di proses. Nah sekarang kita coba untuk merubah pengalokasian daripada memorynya, kita akan alokasikan memory ke P2 terlebih dahulu.
Disini juga terjadi deadlock. Karena alokasi B pada P2 melebihi sumberdaya yang ada, dimana cuma ada 3 sumberdaya, sedangkan yang dibutuhkan sebanyak 4.
Dari uraian di atas dapat disimpulkan bahwa kondisi memory unsafe atau akan terjadi deadlock.
Artikel Terkait:
- Safe/Unsafe State untuk menghindari Deadlock
- Contoh Multi Programing dengan Partisi Dinamis
- Contoh Algoritma FIFO
- Algoritma Page Replecement
- Contoh Soal Safe/Unsafe State untuk menghindari Deadlock
Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.
trimakasih
BalasHapusBagaimana cara menentukan Urutan safe state nya ?
BalasHapusYang saya ketahui terkait pengurutan safe state nya yaitu dengan melihat jumlah alokasi, kebutuhan resouce (need), dan maksimal resource yg bisa digunakan (max). dari sana kita dapat melihat dan mulai menganalisa proses mana yang bisa dijalankan terlebih dahulu.
HapusCari proses yang tidak melebihi jumlah kebutuhan untuk dijalankan terlebih dahulu.
CMIIW