Lompat ke konten Lompat ke sidebar Lompat ke footer

Perhitungan manual algoritma Priority Scheduling

Algoritma Priority Scheduling adalah salah satu metode penjadwalan proses pada sistem operasi. Metode ini memprioritaskan proses-proses yang memiliki prioritas tertinggi untuk dijalankan terlebih dahulu. Prioritas ini dapat ditentukan berdasarkan berbagai faktor seperti time limit, kebutuhan memori, dan akses file.

Untuk menghitung algoritma Priority Scheduling, Anda perlu menetapkan nilai prioritas untuk setiap proses dan kemudian menggunakan metode penjadwalan yang sesuai, baik itu preemptive maupun non-preemptive, untuk menentukan urutan eksekusi berdasarkan prioritas tersebut. Misalnya, jika Anda ingin menghitung urutan eksekusi proses menggunakan algoritma Priority Scheduling secara non-preemptive, Anda dapat menggunakan rumus berikut untuk menghitung rata-rata waktu putar (average turnaround time):

Average Turnaround Time=Turnaround TimeTotal Number of Processes

Rumus ini akan membantu Anda menghitung kinerja algoritma Priority Scheduling dalam hal waktu putar rata-rata dari sejumlah proses yang dijadwalkan.

Selain itu, terdapat beberapa jenis algoritma Priority Scheduling yang dapat digunakan, yaitu:


1. Non-Preemptive Priority Scheduling

   Pada jenis algoritma ini, proses yang memiliki prioritas tertinggi akan dieksekusi terlebih dahulu. Namun, jika ada proses yang sedang dieksekusi dan kemudian muncul proses baru dengan prioritas yang lebih tinggi, proses yang sedang dieksekusi akan selesai terlebih dahulu sebelum proses baru tersebut dieksekusi.


2. Preemptive Priority Scheduling

   Pada jenis algoritma ini, proses yang memiliki prioritas tertinggi akan dieksekusi terlebih dahulu. Namun, jika ada proses yang sedang dieksekusi dan kemudian muncul proses baru dengan prioritas yang lebih tinggi, proses yang sedang dieksekusi akan dihentikan dan proses baru tersebut akan dieksekusi terlebih dahulu.


3. Round Robin with Priority

   Pada jenis algoritma ini, proses yang memiliki prioritas tertinggi akan dieksekusi terlebih dahulu. Namun, jika ada beberapa proses dengan prioritas yang sama, metode Round Robin akan digunakan untuk menentukan urutan eksekusi[1].


Untuk menghitung algoritma Priority Scheduling secara lebih detail, berikut adalah contoh perhitungan menggunakan metode Non-Preemptive Priority Scheduling:


| Proses | Waktu Tiba | Waktu Eksekusi | Prioritas |

|--------|-----------|---------------|-----------|

| P1     | 0         | 5             | 3         |

| P2     | 1         | 3             | 1         |

| P3     | 2         | 2             | 3         |

| P4     | 3         | 4             | 4         |

| P5     | 4         | 1             | 2         |


Dari tabel di atas, dapat dilihat bahwa terdapat lima proses yang akan dijadwalkan menggunakan algoritma Non-Preemptive Priority Scheduling. Setiap proses memiliki waktu tiba, waktu eksekusi, dan prioritas yang berbeda-beda.

Langkah-langkah perhitungan menggunakan algoritma Non-Preemptive Priority Scheduling adalah sebagai berikut:

1. Urutkan proses berdasarkan prioritas tertinggi. Jika terdapat beberapa proses dengan prioritas yang sama, urutkan berdasarkan waktu tiba.

   

   | Proses | Waktu Tiba | Waktu Eksekusi | Prioritas |

   |--------|-----------|---------------|-----------|

   | P2     | 1         | 3             | 1         |

   | P5     | 4         | 1             | 2         |

   | P1     | 0         | 5             | 3         |

   | P3     | 2         | 2             | 3         |

   | P4     | 3         | 4             | 4         |


2. Hitung waktu tunggu (waiting time) untuk setiap proses. Waktu tunggu adalah selisih antara waktu tiba dengan waktu proses dimulai.


   | Proses | Waktu Tiba | Waktu Eksekusi | Prioritas | Waktu Mulai | Waktu Tunggu |

   |--------|-----------|---------------|-----------|-------------|--------------|

   | P2     | 1         | 3             | 1         | 1           | 0            |

   | P5     | 4         | 1             | 2         | 4           | 0            |

   | P1     | 0         | 5             | 3         | 4           | 4            |

   | P3     | 2         | 2             | 3         | 9           | 7            |

   | P4     | 3         | 4             | 4         | 11          | 8            |


3. Hitung waktu putar (turnaround time) untuk setiap proses. Waktu putar adalah selisih antara waktu proses dimulai dengan waktu proses selesai.


   | Proses | Waktu Tiba | Waktu Eksekusi | Prioritas | Waktu Mulai | Waktu Tunggu | Waktu Putar |

   |--------|-----------|---------------|-----------|-------------|--------------|-------------|

   | P2     | 1         | 3             | 1         | 1           | 0            | 2           |

   | P5     | 4         | 1             | 2         | 4           | 0            | 1           |

   | P1     | 0         | 5             | 3         | 4           | 4            | 5           |

   | P3     | 2         | 2             | 3         | 9           | 7            |


Citations:

[1] http://prabowoindraswari.blogspot.com/2014/11/contoh-perhitungan-algoritma.html

Posting Komentar untuk "Perhitungan manual algoritma Priority Scheduling"