Algoritma Penjadwalan CPU- Penjadwalan CPU adalah permasalahan menentukan
proses mana pada ready queue yang dialokasikan ke CPU. Terdapat beberapa
algoritma penjadwalan CPU, diantaranya:
- Algoritma Penjadwalan First Come, First Served (FCFS).
- Algoritma Penjadwalan Shortest Job First.(SJF)
- Algoritma Penjadwalan Priority Schedulling (jadwal prioritas).
- Algoritma Penjadwalan Round Robin.
Setiap algoritma diukur “turnaround
time” dan “waiting time” untuk membandingkan performansi dengan algoritma lain.
Dan untuk mengukur turnaround time dan waiting time, digunakan “Gant Chart” .
CPU time (Burst Time) membutuhkan semua proses diasumsikan diketahui. Arrival
time untuk setiap proses pada ready queue diasumsikan diketahui.
- Algoritma Penjadwalan First Come, First Served (FCFS)
Proses yang pertama kali meminta jatah waktu untuk
menggunakan CPU akan dilayani terlebih dahulu. Dan rata-rata waktu tunggu
(Average waiting time) cukup tinggi.
Algoritma penjadwalan FCFS merupakan salah satu
strategi penjadwalan non-Preemptive karena sekali CPU dialokasikan pada suatu
proses, maka proses tersebut akan tetap memakai CPU sampai proses tersebut
melepaskannhya, yaitu jika proses berhenti atau meminta I/O. Kelemahan dari
Algoritma penjadwalan ini adalah adanya convoy effect.
skema proses yang meminta CPU mendapat prioritas.
Implementasi dari FCFS mudah diatasi dengan FIFO queue. Contoh :
urutan
kedatangan adalah P1, P2, P3
Gant Chart
ini adalah :

Waiting time
for P1 = 0; P2 = 24; P3 = 27
Average
waiting time: (0 + 24 + 27)/3 = 17
misal proses
dibalik sehingga urutan kedatangan adalah P2, P3, P1. Gant Chartnya adalah :

LINK VIDIO FRIST COME FRIST SERVED (FCFS)
- Algoritma Shortest Job First Scheduler
Algoritma ini digunakan ketika CPU bebas proses yang
mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Seandainya
dua proses atau lebih mempunyai waktu yang sama maka FCFS algoritma digunakan
untuk menyelsaikan masalah tersebut.
Prinsip
algoritma penjadwalan ini adalah, proses yang memiliki CPU burst paling kecil
dilayani terlebih dahulu. Oleh karena itu, algoritma ini optimal jika
digunakan, tetapi sulit untuk diimplementasikan karena sulit mengetahui CPU burst
selanjutnya.
Ada dua
skema dalam SJFS ini yaitu:
- Non premptive— ketika CPU memberikan kepada proses itu tidak bisa ditunda hingga selesai.
- premptive— bila sebuah proses datang dengan waktu proses lebih rendah dibandingkan dengan waktu proses yang sedang dieksekusi oleh CPU maka proses yang waktunya lebih rendah mendapatkan prioritas. Skema ini disebut juga Short – Remaining Time First (SRTF). Contoh :
Average waiting time = (9 + 1 + 0 +2)/4
= 3
LINK VIDIO SHORTEST JOB FRIST (SJF)
- Algoritma Penjadwalan Priority Schedulling (jadwal prioritas)
Penjadualan SJF (Shortest Job First) adalah kasus
khusus untuk algoritma penjadual Prioritas. Prioritas dapat diasosiasikan
masing-masing proses dan CPU dialokasikan untuk proses dengan prioritas
tertinggi. Untuk proritas yang sama dilakukan dengan FCFS.
Ada pun
algoritma penjadual prioritas adalah sebagai berikut:
- Setiap proses akan mempunyai prioritas (bilangan integer). Beberapa sistem menggunakan integer dengan urutan kecil untuk proses dengan prioritas rendah, dan sistem lain juga bisa menggunakan integer urutan kecil untuk proses dengan prioritas tinggi. Tetapi dalam teks ini diasumsikan bahwa integer kecil merupakan prioritas tertinggi.
- CPU diberikan ke proses dengan prioritas tertinggi (integer kecil adalah prioritas tertinggi).
Dalam
algoritma ini ada dua skema yaitu:
1. Preemptive: proses dapat di
interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU.
2. Nonpreemptive: proses dengan
prioritas tinggi akan mengganti pada saat pemakain time-slice habis.
SJF adalah contoh penjadual prioritas dimana prioritas
ditentukan oleh waktu pemakaian CPU berikutnya. Permasalahan yang muncul dalam
penjadualan prioritas adalah indefinite blocking atau starvation.
Kadang-kadang untuk kasus dengan prioritas
rendah mungkin tidak pernah dieksekusi. Solusi untuk algoritma penjadual
prioritas adalah aging.
Prioritas
akan naik jika proses makin lama menunggu waktu jatah CPU.
Contoh
Priority:
LINK VIDIO PRIORITY
- Algoritma Penjadwalan Round Robin.
Algoritma
Round Robin (RR) dirancang untuk sistem time sharing. Algoritma ini mirip
dengan penjadual FCFS, namun preemption ditambahkan untuk switch antara proses.
Antrian ready diperlakukan atau dianggap sebagai antrian sirkular. CPU
mengelilingi antrian ready dan mengalokasikan masing-masing proses untuk
interval waktu tertentu sampai satu time slice/ quantum.
Berikut
algoritma untuk penjadual Round Robin:
• Setiap
proses mendapat jatah waktu CPU (time slice/ quantum) tertentu Time
slice/quantum umumnya antara 10 – 100 milidetik.
- Setelah time slice/ quantum maka proses akan di-preempt dan dipindahkan ke antrian ready.
- Proses ini adil dan sangat sederhana.
• Jika
terdapat n proses di “antrian ready” dan waktu quantum q (milidetik), maka:
- Maka setiap proses akan mendapatkan 1/n dari waktu CPU.
- Proses tidak akan menunggu lebih lama dari: (n-1)q time units.
• Kinerja
dari algoritma ini tergantung dari ukuran time quantum.
- Time Quantum dengan ukuran yang besar maka akan sama dengan FCFS.
- 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.
LINK VIDIO ROUND ROBIN






Tidak ada komentar:
Posting Komentar