Algoritma Penjadwalan Round Robin dengan Contoh

โšก Ringkasan Cerdas

Penjadwalan Round-Robin adalah algoritma CPU preemptif tertua dan paling sederhana, di mana setiap proses yang siap berjalan untuk jangka waktu tetap dalam antrian siklik, memastikan eksekusi yang adil dan bebas kelaparan untuk multitasking.

  • ๐Ÿ”„ Definisi: Setiap tugas yang siap dijalankan secara bergantian untuk jangka waktu tetap.
  • ๏ธ Kuantum Waktu: CPU beralih antar proses setelah interval waktu tetap, yaitu kuantum waktu.
  • ๏ธ Keadilan: Setiap proses mendapatkan waktu CPU yang sama, sehingga menghindari kelaparan (starvation).
  • ๐Ÿงฎ Pencegahan: Proses yang dihentikan sementara akan berpindah ke akhir antrian.
  • โœ… Keuntungan: Alokasi yang adil, tidak ada efek konvoi, waktu respons yang dapat diprediksi.
  • โš ๏ธ Kekurangan: Performa bergantung pada kuantum waktu dan menambahkan overhead peralihan konteks.

Algoritma Penjadwalan Round Robin

Apa itu Penjadwalan Round-Robin?

Nama algoritma ini berasal dari prinsip round-robin, dimana setiap orang mendapat bagian yang sama secara bergiliran. Ini adalah algoritma penjadwalan tertua dan paling sederhana, yang banyak digunakan untuk multitasking.

Dalam penjadwalan Round-robin, setiap tugas yang siap dijalankan secara bergantian dalam antrian siklik untuk jangka waktu terbatas. Algoritma ini juga menawarkan eksekusi proses tanpa kelaparan (starvation).

Karakteristik Penjadwalan Round-Robin

Berikut adalah karakteristik penting dari Penjadwalan Round-Robin:

  • Round robin adalah algoritma pre-emptive.
  • CPU dialihkan ke proses berikutnya setelah interval waktu tetap, yang disebut kuantum waktu/irisan waktu.
  • Proses yang didahului ditambahkan ke akhir antrian.
  • Round robin adalah model hibrida yang digerakkan oleh waktu.
  • Alokasi waktu (time slice) sebaiknya seminimal mungkin, yang ditetapkan untuk tugas spesifik yang perlu diproses. Namun, hal ini dapat berbeda-beda tergantung sistem operasi yang digunakan.
  • Ini adalah algoritma waktu nyata yang merespons peristiwa dalam batas waktu tertentu.
  • Round robin adalah salah satu algoritma tertua, paling adil, dan paling mudah.
  • Ini adalah metode penjadwalan yang banyak digunakan dalam sistem operasi tradisional.

Contoh Penjadwalan Round-robin

Pertimbangkan tiga proses berikut:

antrian proses Waktu meledak
P1 4
P2 3
P3 5

Penjadwalan round-robin

Langkah 1) Eksekusi dimulai dengan proses P1 yang memiliki waktu burst 4. Di sini setiap proses dijalankan selama 2 detik. P2 dan P3 masih dalam antrian tunggu.

Penjadwalan round-robin

Langkah 2) Pada waktu = 2, P1 ditambahkan ke akhir Antrian dan P2 mulai dieksekusi.

Penjadwalan round-robin

Langkah 3) Pada waktu = 4, P2 dihentikan sementara dan ditambahkan di akhir antrian. P3 mulai dieksekusi.

Penjadwalan round-robin

Langkah 4) Pada waktu = 6, P3 dihentikan sementara dan ditambahkan di akhir antrian. P1 mulai dieksekusi.

Penjadwalan round-robin

Langkah 5) Pada waktu = 8, P1 memiliki waktu eksekusi (burst time) sebesar 4. Eksekusinya telah selesai. P2 mulai mengeksekusi.

Penjadwalan round-robin

Langkah 6) P2 memiliki waktu eksekusi (burst time) sebesar 3. P2 telah dieksekusi selama 2 interval. Pada waktu = 9, P2 menyelesaikan eksekusinya. Kemudian, P3 mulai dieksekusi hingga selesai.

Penjadwalan round-robin

Langkah 7) Mari kita hitung waktu tunggu rata-rata untuk contoh di atas.

Wait time
P1 = 0 + 4 = 4
P2 = 2 + 4 = 6
P3 = 4 + 3 = 7

Keuntungan Penjadwalan Round-robin

Berikut adalah kelebihan/manfaat dari metode penjadwalan Round-robin:

  • Negara ini tidak menghadapi masalah kelaparan atau efek konvoi.
  • Semua pekerjaan mendapatkan alokasi CPU yang adil.
  • Sistem ini menangani semua proses tanpa prioritas apa pun.
  • Jika Anda mengetahui jumlah total proses dalam antrian yang dijalankan, Anda juga dapat mengasumsikan waktu respons kasus terburuk untuk proses yang sama.
  • Metode penjadwalan ini tidak bergantung pada waktu eksekusi (burst time). Karena itulah metode ini mudah diimplementasikan pada sistem.
  • Ketika suatu proses dieksekusi pada jangka waktu tertentu, proses tersebut akan didahului, dan proses lain akan dijalankan pada jangka waktu tertentu.
  • Memungkinkan sistem operasi untuk menggunakan metode pengalihan konteks untuk menyimpan status proses yang dihentikan sementara.
  • Ini memberikan kinerja terbaik dalam hal waktu respons rata-rata.

Kekurangan Penjadwalan Round-robin

Berikut adalah kekurangan/kelemahan penggunaan penjadwalan Round-robin:

  • Jika waktu pemrosesan OS rendah, maka output prosesor akan berkurang.
  • Metode ini menghabiskan lebih banyak waktu pada peralihan konteks.
  • Kinerjanya sangat bergantung pada kuantum waktu.
  • Prioritas tidak dapat ditetapkan untuk proses tersebut.
  • Penjadwalan round-robin tidak memberikan prioritas khusus pada tugas-tugas yang lebih penting.
  • Hal itu mengurangi pemahaman.
  • Quantum waktu yang lebih rendah mengakibatkan overhead peralihan konteks yang lebih tinggi dalam sistem.
  • Menemukan kuantum waktu yang tepat merupakan tugas yang cukup sulit dalam sistem ini.

Latensi Kasus Terburuk

Istilah ini digunakan untuk waktu maksimum yang dibutuhkan untuk pelaksanaan semua tugas.

  • dt = Menunjukkan waktu deteksi ketika suatu tugas dimasukkan ke dalam daftar
  • st = Menunjukkan waktu peralihan dari satu tugas ke tugas lainnya
  • et = Menunjukkan waktu eksekusi tugas

Formula:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

Pertanyaan Umum Demo Slot

Kuantum waktu, atau irisan waktu, adalah waktu CPU tetap yang dijalankan setiap proses sebelum dihentikan sementara. Nilai yang terlalu besar akan berperilaku seperti FCFS (First Come First Serve); nilai yang terlalu kecil akan menambah beban overhead peralihan konteks yang berat.

FCFS menjalankan setiap proses hingga selesai sesuai urutan kedatangan dan bersifat non-preemptif. Round Robin bersifat preemptif: ia memberikan setiap proses alokasi waktu tetap dan bergiliran melalui antrian, meningkatkan waktu respons dan mencegah pekerjaan yang memakan waktu lama menghalangi pekerjaan lain.

Karena setiap proses ditempatkan dalam antrian siklik dan menerima alokasi waktu tetap secara berg้ †็•ช. Tidak ada proses yang dilewati atau ditunda tanpa batas waktu, sehingga setiap proses pada akhirnya mendapatkan waktu CPU terlepas dari panjangnya atau urutan kedatangannya.

AI dan pembelajaran mesin dapat memprediksi perilaku proses dan pola beban kerja untuk menyesuaikan keputusan penjadwalan secara real-time. Alih-alih kebijakan tetap, sistem dapat menyesuaikan prioritas dan alokasi waktu secara dinamis, meningkatkan pemanfaatan CPU, throughput, dan waktu respons.

Ya. Model AI dapat menganalisis waktu puncak (burst time) dan beban sistem di masa lalu untuk menyarankan kuantum waktu optimal, dan menyesuaikannya seiring perubahan kondisi. Hal ini menyeimbangkan overhead peralihan konteks dengan waktu respons lebih baik daripada nilai tetap tunggal.

Ringkaslah postingan ini dengan: