PENJADUALAN CPU -...
Transcript of PENJADUALAN CPU -...
PENJADUALAN CPU Konsep & Algoritma
KONSEP DASAR
Penjadualan CPU adalah basis dari multi-programming sistem operasi
Tujuan dari multi-programming adalah untuk mempunyai proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU
Pengeksekusian dari proses terdiri atas siklus CPU Burst dan M/K Wait
PENJADUALAN CPU
Algoritma Penjadualan : Memilih dari proses-
proses yang berada di memori (ready to execute)
dan memberikan jatah CPU ke salah satu proses
tersebut.
Jenis Penjadualan:
Preemptive
Non-Preemptive
JENIS PENJADUALAN
Penjadualan CPU mungkin akan dijalankan ketika proses:
1. Berubah dari running ke waiting state
2. Berubah dari running ke ready state
3. Berubah dari waiting ke ready
4. Terminates
Penjadualan 1 dan 4 termasuk Non-Preemptive
Penjadualan 2 dan 3 termasuk Preemptive
Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat.
Non-preemptive: setiap proses secara sukarela (berkala) memberikan CPU ke OS.
KRITERIA PENJADUALAN
CPU utilization: menjaga CPU sesibuk mungkin
(menggunakan CPU semaksimal mungkin)
Throughput: memaksimalkan proses yang diselesaikan
per unit waktu
Turnaround time: minimalkan waktu selesai eksekusi
suatu proses (sejak di submit sampai selesai)
Waiting time: minimalkan waktu tunggu proses (jumlah
waktu yang dihabiskan menunggu di ready queue).
Response time: minimalkan waktu response dari sistim
terhadap user (interaktif, time-sharing system),
sehingga interaksi dapat berlangsung dengan cepat.
KRITERIA PENJADUALAN YANG OPTIMAL
Memaksimumkan utilisasi CPU
Memaksimumkan throughput
Meminimukan turnaround time
Meminimumkan waiting time
Meminimumkan response time
ALGORITMA PENJADUALAN
First-come, first-served (FCFS)
Shortest-Job-First (SJF)
Priority
Round-Robin (RR)
Multilevel Queue
Multilevel Feedback Queue
FIRST-COME, FIRST-SERVED (FCFS)
algoritma ini akan mendahulukan proses yang
lebih dulu datang
proses akan mengantri sesuai waktu
kedatangannya.
Kelemahan algoritma ini adalah waiting time
rata-rata yang cukup lama
convoy effect, dimana proses lain menunggu satu
proses besar mengembalikan sumber daya CPU
FCFS (2)
FCFS (3)
LATIHAN FCFS
Proses Burst Time Waiting Time
P1 10
P2 1
P3 2
P4 1
P5 5
Rata2 Waiting Time
SHORTEST-JOB FIRST
Proses diatur menurut panjang CPU burst berikutnya
Algoritma ini memiliki 2 skema: preemptive dan
nonpreemptive
Non- Preemptive : CPU hanya satu kali diberikan pada
suatuproses, maka proses tersebut tetap akan memakai
CPU hingga proses tersebut melepaskannya
Preemptive: Jika ada proses datang dengan sisa CPU
burst yang lebih kecil daripada yang sedang dieksekusi,
maka proses tersebut akan menggantikan proses yang
sedang dieksekusi. Skema ini dikenal dengan Shortest-
Remaining-Time-First (SRTF)
SJF NON-PREEMPTIVE
SJF PREEMPTIVE
PRIORITY
Algoritma ini memberikan skala prioritas kepada tiap
proses.
Skala diberikan dalam bentuk integer.
Proses yang mendapat prioritas tertinggi akan
didahulukan.
Beberapa sistem menggunakan integer kecil untuk
prioritas tertinggi, beberapa sistem menggunakan
integer besar.
Algoritma ini dapat preemptive maupun non-
preeemptive. Jika preemptive maka proses dapat
diinterupsi oleh proses yang prioritasnya lebih tinggi.
Nonpreemptive: proses dengan prioritas tinggi akan
mengganti pada saat pemakain time-slice habis.
PRIORITY (2)
Problem = starvation
Proses dengan prioritas terendah mungkin tidak
akan pernah dieksekusi
Solusi = aging
Prioritas akan naik jika proses makin lama
menunggu waktu jatah CPU
LATIHAN PRIORITY
Proses Burst Time Priority
P1 7 2
P2 4 1
P3 1 1
P4 4 2
Rata2 Waiting Time
ROUND-ROBIN
Algoritma ini menggilir proses yang ada di
antrian.
Proses akan mendapat jatah sebesar time
quantum. Jika time quantum-nya habis atau
proses sudah selesai CPU akan dialokasikan ke
proses berikutnya.
Algoritma ini sepenuhnya bergantung besarnya
time quantum. Jika terlalu besar, algoritma ini
akan sama saja dengan algoritma first-come first-
served
ROUND-ROBIN (Q=20)
MULTILEVEL QUEUE
Algoritma ini mengelompokkan antrian dalam
beberapa buah antrian
Antrian-antrian tersebut diberi prioritas
Antrian yang lebih rendah tak boleh mendapat
alokasi selama ada antrian tinggi yang
belum kebagian.
Tiap antrian boleh memiliki algoritma yang
berbeda
juga dapat menjatah waktu CPU untuk tiap
antrian. Semakin tinggi tingkatannya, semakin
besar jatah waktu CPU-nya.
MULTILEVEL FEEDBACK QUEUE
Algoritma ini mirip sekali dengan algoritma Multilevel Queue
Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian
Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah