Materi Pertemuan 6 Tentang Algoritma Penjadwalan Proses

Penjadwalan Proses menjadwalkan proses yang berbeda untuk ditugaskan ke CPU berdasarkan algoritma penjadwalan tertentu.

Ada enam algoritma penjadwalan proses populer yang akan kita bahas dalam pertemuan kali ini:

  • Penjadwalan First-Come, First-Served (FCFS)
  • Penjadwalan Short-Job-Next (SJN)
  • Penjadwalan Prioritas
  • Waktu Tersisa Tersingkat
  • Penjadwalan Round Robin (RR)
  • Penjadwalan Antrian Bertingkat

Algoritma ini bersifat non-preemptive atau preemptive. Algoritma non-preemptive dirancang sehingga ketika suatu proses memasuki kondisi berjalan, itu tidak dapat preempt sampai selesai waktu yang ditentukan, sedangkan penjadwalan preemptive didasarkan pada prioritas di mana penjadwal dapat mendahului proses berjalan prioritas rendah kapan saja ketika prioritas tinggi proses masuk ke status siap.

1) Pertama Tiba Pertama Dilayani (PTPD)

  • Pekerjaan dieksekusi berdasarkan pertama datang, pertama dilayani.
  • Ini adalah algoritma penjadwalan non-preemptive, pre-emptive.
  • Mudah dimengerti dan diimplementasikan.
  • Implementasinya didasarkan pada antrian FIFO.
  • Kinerja buruk karena waktu tunggu rata-rata tinggi.

Contoh Algoritma PTPD/FCFS sebagai berikut:

Contoh Algoritma PTPD/FCFS sebagai berikut:

Contoh Algoritma PTPD/FCFS sebagai berikut:


2) Algoritma Penjadwalan Shortest Job Next (SJN)
  • Dikenal juga sebagai Proses Terpendek Dipertamakan (PTD).
  • Algoritma penjadwalan non-preemptive, pre-emptive.
  • Pendekatan terbaik untuk meminimalkan waktu tunggu.
  • Mudah diimplementasikan dalam sistem Batch di mana waktu CPU yang diperlukan diketahui sebelumnya.
  • Tidak mungkin diterapkan dalam sistem interaktif di mana waktu CPU yang dibutuhkan tidak diketahui.
  • Prosesor harus tahu sebelumnya berapa banyak waktu proses akan memakan waktu.

Contoh Tabel Proses PTD

Contoh Tabel Proses PTD

3) Penjadwalan Berbasis Prioritas
  • Penjadwalan prioritas adalah algoritma non-preemptive dan salah satu algoritma penjadwalan yang paling umum dalam sistem batch.
  • Setiap proses diberi prioritas. Proses dengan prioritas tertinggi harus dijalankan terlebih dahulu dan seterusnya.
  • Proses dengan prioritas yang sama dijalankan berdasarkan first come first served.
  • Prioritas dapat diputuskan berdasarkan persyaratan memori, persyaratan waktu atau persyaratan sumber daya lainnya.
4) Waktu Terpendek
  • Waktu terpendek yang tersisa (SRT) adalah versi preemptive dari algoritma SJN.
  • Prosesor dialokasikan untuk pekerjaan yang paling dekat dengan penyelesaian tetapi dapat didahului oleh pekerjaan siap yang lebih baru dengan waktu penyelesaian yang lebih singkat.
  • Tidak mungkin diterapkan dalam sistem interaktif di mana waktu CPU yang dibutuhkan tidak diketahui.
  • Ini sering digunakan dalam lingkungan batch di mana pekerjaan pendek perlu memberikan preferensi.