Komponen Alokasi Sumber Daya

Graf alokasi sumber daya mempunyai komponen-komponen layaknya graf biasa. Hanya saja dalam graf alokasi sumber daya ini, vertex dibagi menjadi 2 jenis yaitu:

  1. Proses. 

    P = {P0, P1, P2, P3,.... , Pi}. P terdiri dari semua proses yang ada di sistem. Untuk proses, vertexnya digambarkan sebagai lingkaran dengan nama prosesnya.

    Gambar 24.1. Proses Pi

    Proses Pi

  2. Resource

    Sumber daya R= {R0, R1, R2, R3, ...., Rj}. R terdiri dari semua sumber daya yang ada di sistem. Untuk sumber daya, vertexnya digambarkan sebagai segi empat dengan titik ditengahnya yang menunjukkan jumlah instans yang dapat dialokasikan serta nama sumber dayanya.

    Gambar 24.2. Sumber daya Rj

    Sumber daya Rj

Proses dan resource dihubungkan oleh sebuah edge (sisi). Untuk edge, terdiri dari dua jenis yaitu:

  1. Edge permintaan: Pi->Rj. 

    Edge permintaan menggambarkan adanya suatu proses Pi yang meminta sumber daya Rj

    Gambar 24.3. Proses Pi meminta sumber daya Rj

    Proses Pi meminta sumber daya Rj

  2. Edge Alokasi Sumber Daya: Rj->Pi. 

    Edge alokasi sumber daya menggambarkan adanya suatu sumber daya Rj yang mengalokasikan sumber dayanya pada Pi

    Gambar 24.4. Resource Rj meminta sumber daya Pi

    Resource Rj meminta sumber daya Pi

Setelah mengetahui bentuk vertex dan edge yang digunakan, kita akan lihat bagaimana salah satu contoh penggunaan graf alokasi sumber daya.

Gambar 24.5. Contoh graf alokasi sumber daya

Contoh graf alokasi sumber daya

Graf diatas terdiri dari 6 vertex dan 5 edge, V= {P0, P1, P2, R0, R1, R2}

E = {P0-> R0, R0-> P1, R1-> P1, R2-> P0, R2-> P2}. Keterangan Graf diatas :

  1. P0 meminta sumber daya dari R0

  2. R0 memberikan sumber dayanya kepada P1

  3. R1 memberikan salah satu instans sumber dayanya kepada P1

  4. R2 memberikan salah satu instans sumber dayanya kepada P0

  5. R2 memberikan salah satu instans sumber dayanya kepada P2

Setelah suatu proses telah mendapatkan semua sumber daya yang diperlukan maka sumber daya tersebut dilepas dan dapat digunakan oleh proses lain.Sebuah proses menggunakan resource dengan urutan sebagai berikut:

  1. Mengajukan permohonan (request). Bila Permohonan tidak dapat dikabulkan dengan segera (misal karena resource sedang digunakan oleh proses lain), maka proses itu harus menunggu sampai resource yang dimintanya tersedia.
  2. Menggunakan resource (use). Proses dapat menggunakan resource, misal : printer untuk mencetak, disk drive untuk melakukan operasi M/K , dan sebagainya .
  3. Melepaskan resource (release). Setelah proses menyelesaikan penggunaan resource, maka resource harus dilepaskan sehingga dapat digunakan oleh proses lain.