Algoritma Penjadwalan (Preemptive Aje)
Algoritma Penjadwalan (Preemptive Aje)
1. PENJADWALAN PROSES
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di system operasi yang berkaitan
dengan urutan kerja yang dilakukan system computer.
Penjadwalan bertugas memutuskan hal-ha berikut :
• Proses yang harus berjalan.
• Kapan dan selama berapa lama proses berjalan.
Sasaran utama penjadwalan proses adalah Optimasi kinerja system computer menurut criteria
tertentu.
Kinerja untuk mengukur dan optimasi kerja penjadwalan :
• Adil (fairness)
• Efisiensi
• Waktu tanggap (response time)
• Turn around time
• Throughput
Adil (Fairness)
Adil adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang
sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation.
Startvation adalah kondisi bahwa proses tidakpernah berjalan karena tidak dijadwalkan untuk
berjalan.
Efisiensi
Efisiensi atau utilisasi pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses
dengan total waktu operasi system computer secara keseluruhan.
Waktu Tanggap(Response Time)
Waktu tanggap pada system interaktif
Waktu tanggap dalam system interaktif didefinisikan sebagai waktu yang dihabiskan dari saat
karakaterterakhir dari perintah dimasukan oleh program atau transaksi sampai hasil pertama muncul
diprangkat masukan keluaran seperti layar (terminal).
Waktu tanggap untuk system interaktif biasa disebut terminal response time .
Waktu tanggap pada system waktu nyata
Pada system waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat
kemunculan waktu suatu kejadian (internal atau eksternal) sampai waktu instruksi pertama rutin
layanan terhadap kejadian eksekusi.
Waktu untuk system waktu nyata biasa disebut event response time.
Sasaran penjadwaan adalah meminimalkan waktu tanggap sehingga menghasilkan sisten yang
responsive.
Waktu tanggap berbeda untuk
• System interaktif
• System waktu nyata
Turn around time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem
sampai proses diselesaikan oleh sistem.
Throughtput adalah julah kerja yag dapat diselesaikan dalam satu unit waktu.
Criteria – criteria tersebut akan saling bergantung dan dapat pula saling bertentangan akan tetapi
criteria – criteria tersebut memiliki sasaran penjadwalan u tuk mencapai optimasi kerjanya pada
sistem, sasaran tersebut adalah:
a. Menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
b. Menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum.
Pengertian sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk
mengeksekusi program pemakai dan sistem operasi.
c. Meminimalkan waktu tanggap.
d. Meminimalkan turn arround time.
e. Memaksimalkan jumlah job yang diproses persatu interval waktu. Lebih besar angka
throughput, lebih banyak kerja yang dilakukan sistem.
2. TIPE PENJADWALAN
A. ROUND ROBIN
Algoritma penjadwalan Round Robin adalah algoritma yang menggilir proses yang ada di antrian.
Algoritma ini merupakan algoritma yang paling tua, sederhana, adil, banyak digunakan
algoritmanya dan mudah diimplementasikan dan masuk ke dalam algoritma preemptive
(kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk
memberi ruang kepada proses yang prioritasnya lebih tinggi). Algoritma ini mengasumsikan bahwa
semua proses memiliki kepentingan yang sama. Istilah lainnya adalah algoritmamenganggap bahwa
semua proses itu penting sehingga perlu diberi sejumlah waktu oleh pemroses yang disebut kwanta
atau quantum atau time slices dimana proses itu berjalan. Jadi semua proses mendapat jatah waktu
yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah
lama 1 quantum.
Disingkat dengan RR. Model Penjadwalan. Penjadwalan ini merupakan :
1. Penjadwalan preemptive, bukan di-preempt oleh proses lain, tapi terutama oleh penjadwal
berdasarkan lama waktu berjalannya proses, disebut preempt by time.
2. Penjadwal tanpa prioritas.
Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut kwanta (quantum)
atau time slice dimana proses itu berjalan.
Ketentuan algoritma round robin adlah sebagai berikut:
1. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke
proses 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 read (runnable) sesuai urutan kedatangan.
- Ambil proses yang berada di ujing depan antrian menjadi running.
- Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian proses
ready.
- Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses
ready dan ambil proses di ujung depatn antrian proses ready.
Kinerja dari algoritma ini tergantung dari ukuran time quantum.
1. Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS.
2. Time Quantum dengan ukuran yang kecil maka time quantum harus diubah ukurannya lebih
besar dengan respek pada alih konteks sebaliknya akan memerlukan ongkos yang besar. Contoh :
Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response
terhadap user lebih cepat.
contoh: