yunita

yunita

Senin, 01 April 2013

Penjadwalan Round Robin (RR)

Penjadwalan Round Robin (RR)

Round robin adalah sebuah susunan yang memilih semua elemen pada grup seperti beberapa perintah rasional, biasanya dari atas sampai ke bawah sebuah daftar/susunan dan kembali lagi keatas dan begitu seterusnya. Dapat diandaikan bahwa round robin seperti mengambil giliran (“taking turns”).
Penjadwalan ini merupakan:
-          Penjadwalan preemptive, buka dipreempt oleh proses lain tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time
-          Penjadwalan tanpa protes. Semua Proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwata (quantum) atau time slice dimana proses itu berjalan.

Ketentuan
Ketentuan algoritma round robin adalah sebagai berikut:
1.Jika kwanta habis dan proses belum selesai maka proses menjadi runable dan pemroses dialihkan ke poses lain.
2.Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain
3.Jika kwanta belum habis tapi proses telah selesai maka proses diakhiri dan pemroses dialihkan ke proses lain.


Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
– Mengelola senarai proses ready (runnable) seusai urutan kedatangan.
– Ambil proses yang berada diujung depan antrian menjadi running.
– Bila kwanta belum habis dan proses selesai maka ambil proses diujung depan antrian
   proses ready.
– Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor
   antrian proses ready dan ambil proses diujung depan antrian proses ready.


Masalah penjadwalan ini adalah menentukan besar kwanta, yaitu:
–  Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
– Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga
    menurunkan efesiensi pemroses.

Harus ditetapkan kwanta waktu yang optimal berdasar kebutuhan sistem terutama dari hasil percobaan atau data historis. Besar kwanta waktu beragam bergantung beban sistem.

Berdasarkan kriteria penilaian penjadwalan:
– Fairness
Penjadwalan RR adil bila dipandang dari persamaan pelayanan oleh pemroses.

– Efesiensi
Penjadwalan RR cenderung efesien pada sistem interaktif.
– Waktu tanggap
Penjadwalan RR memuaskan untuk sistem interaktif, tidak memakai untuk sistem waktu
nyata
– Turn Arround Time
Penjadwalan RR cukup bagus.
– Throughput
Penjadwalan RR cukup bagus.

Penggunaan:
– Cocok untuk sistem interaktif-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal. Contoh ; text-editor, kebanyakan waktu program adalah menunggu keyboard, hingga dijalankan proses-proses lain.
– Tidak cocok untuk sistem real-time.
 
Penjadwalana FIFO
Penjadwalan ini merupakan:
– Penjadwalana non-preemptive
– Penjadwalan tidak berprioritas

Ketentuan:
Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu:
– Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
– Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.

Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantik/arti antrian, yaitu proses yang datangduluan, dilayani duluan juga), tapi dinyatakan tak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job tak penting dapat membuat job-job penting menunggu.
FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya :
–keputusan berdasarkan prioritas proses. Untuk proses-proses berprioritas sama diputuskan berdasarkan FIFO.
Berdasarkan kriteria penilaian penjadwalan :
– Fairness
Penjadwalan FIFO adil bila dipandang dari semantik antrian.
– Efesiensi
Penjadwalan FIFO sangat efesien
– Waktu tanggap
Penjadwalan FIFO sangat jelek, tidak cocok untuk sistem interaktif apalagi waktu nyata.
– Turn arround time
Penjadwalan FIFO jelek
– Throughput
Penjadwalan FIFO jelek.

Penggunaan:
– Cocok untuk sistem batch yang sangat jarang interaksi dengan pemakai. Contoh aplikasi
analisis numerik, pembuatan tabel.
– Penjadwalan ini sama sekali tak berguna untuk sistem interaktif karena tidak memberi
waktu tanggap yang bagus.
– Tidak dapat digunakan untuk sistem waktu nyata.

1 komentar: