Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer. Penjadwalan CPU secara garis besar dibagi menjadi 2, yaitu Penjadwalan Preemptive dan Penjadwalan Non Preemptive.
A.
Kriteria
penjadwalan yang baik
Kriteria
Penjadwalan yang baik dibagi menjadi 6, diantaranya :
1. Maximize CPU Utilization
Yaitu
dimana CPU harus bekerja sesibuk mungkin, atau dengan kata lain, CPU Idle dengan
waktu se-minimalis mungkin,(Memaksimalkan kinerja CPU).
2. Maximize Throughput
Meminimalisir
waktu yang dibutuhkan untuk menyelesaikan eksekusi proses per unit.
3. Minimize Turnaround Time
Meminimalisir
waktu yang dibutuhkan untuk satu proses, mulai dari memulai proses tersebut,
hingga proses tersebut selesai.
4. Minimize Response Time
Meminimalisir
respon CPU terhadap proses yang berada pada antrian Ready untuk segera dieksekusi.
5. Minimize waiting time
Meminimalisir
rata-rata waktu tunggu dari proses yang berada pada antrian.
6. Fairness
Membagi
CPU kepada tiap proses secara merata.
B.
Sifat
Algoritma Penjadwalan Proses
Sifat dari algoritma penjadwalan
proses ini, dibagi menjadi dua, yaitu :
1. Algoritma Non-Preemptive
Yaitu
algoritma yang dirancang sedemikian sehingga ketika suatu proses memasuki
kondisi yang sedang berjalan, ia tidak dapat diganggu sampai selesai waktu yang
ditentukan,
2. Algoritma Preemptive
Yaitu
algoritma yang didasarkan pada prioritas, di mana prioritas tinggi dapat
mendahului proses prioritas rendah yang sedang berjalan.
C.
Algoritma
Penjadwalan Proses
Penjadwal Proses menjadwalkan proses
yang berbeda untuk ditugaskan ke CPU berdasarkan pada algoritma penjadwalan
tertentu. Ada enam algoritma penjadwalan proses, diantaranya :
·
First-Come, First-Served (FCFS)
Scheduling.
Dimana, konsep penjadwalan proses
ini seperti halnya pada algoritma FIFO (First in, First Out), yaitu proses yang
dating terlebih dahulu, akan dikerjakan dahulu, dan tidak bisa diganggu atau
dilakukan interrupt oleh proses yang antriannya berada setelah antrian yang
sedang diproses.
·
Shortest-Job-Next (SJN) Scheduling
Dapat juga disebut Shortest Job First, penjadwalan ini juga
dapat termasuk dalam sifat algoritma Preemptive maupun Non-Preemptive.
Dikatakan bersifat Non-Preemtive saat proses yang terkumpul sudah mendapatkan Burst Time masing-masing, yang nantinya
akan dieksekusi secara bergantian dari Burst
Time terkecil. Dan bersifat Preemtive apabila terdapat proses yang dating
dengan membawa Burst Time lebih
rendah dari Burst Time proses yang
sedang berjalan, maka proses Burst Time
terendah akan mendahului proses dengan Burst
Time yang sedang berjalan tadi, dengan menghentikan sementara proses
tersebut.
·
Round Robin(RR) Scheduling
Penjadwalan ini bersifat seperti
penjadwalan FCFS, namun, pada penjadwalan ini, tiap proses dianggap penting
atau sama, dan pada setiap proses yang akan dieksekusi diberi waktu pemrosesan
yang disebut quantum time, dimana apabila terdapat salah satu proses dengan
durasi eksekusi yang tinggi, maka akan tetap dibatasi oleh quantum time,
sehingga, proses tersebut akan dikembalikan ke antrian belakang dengan sisa
waktu eksekusi yang belum terproses untuk diproses lagi.
Sebagai contoh, apabila quantum time
yang diberikan adalah 1, sedangkan terdapat 2 proses (A&B) yang sedang
berada dalam antrian dengan durasi eksekusi 2 dan 3, maka antrian yang terjadi
akan menjadi :
A
|
B
|
A
|
B
|
B
|
Comments
Post a Comment