Anda di halaman 1dari 31

PENJADWALAN

PROSES
Definisi

 Penjadwalan merupakan kumpulan


kebijaksanaan dan mekanisme di sistem operasi
yang berkaitan dengan urutan kerja yang
dilakukan sistem komputer.
 Penjadwalan bertugas memutuskan proses yang
harus berjalan dan kapan atau berapa lama
proses itu berjalan.
Kriteria Penjadwalan
 adil
 Proses-proses mendapat jatah waktu pemroses
 tak ada proses yang tak kebagian layanan pemroses
 efisiensi
 Efisiensi atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses.
 Menjaga agar pemroses tetap dalam keadaan sibuk →
efisiensi mencapai maksimum.
Kriteria Penjadwalan
 Waktu tanggap (response time)
 Waktu tanggap pada sistem interaktif
 waktu yang dihabiskan dari saat karakter terakhir dari
perintah dimasukkan sampai hasil pertama muncul di layar
(terminal) → terminal response time
 Waktu tanggap pada sistem waktu nyata (real-time)
 waktu dari saat kejadian (internal atau eksternal) sampai
instruksi pertama rutin layanan yang dimaksud dieksekusi →
event response time
Kriteria Penjadwalan

 Turn arround time


 waktu yang dihabiskan dari saat program atau
job mulai masuk ke sistem sampai proses
diselesaikan sistem.
 waktu yang dihabiskan di dalam sistem.
 turn arround time = waktu eksekusi + waktu
menunggu
 Sasaran penjadwalan adalah meminimalkan
turn arround time.
Kriteria Penjadwalan
 Throughput
 jumlah kerja atau jumlah job yang dapat
diselesaikan dalam satu unit waktu.
 Sasaran penjadwalan adalah memaksimalkan
jumlah job yang diproses per satu interval waktu.
 Lebih tinggi angka throughput, lebih banyak kerja
yang dilakukan sistem.
Tipe Penjadwalan

 Penjadwal jangka pendek (short-term scheduler)


 menjadwalkan alokasi pemroses diantara
proses-proses ready di memori utama.
 Penjadwal jangka menengah
 Aktifitas pemindahan proses yang tertunda
dari memori utama ke memori sekunder
(swapping) → tersedia ruang untuk proses lain
Tipe Penjadwalan
 Penjadwal jangka panjang
 bekerja terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi.
 Batch biasanya adalah proses-proses dengan penggunaan
sumber daya yang intensif (yaitu waktu pemroses,
memori, perangkat masukan/keluaran)
 program-program ini berprioritas rendah, digunakan
sebagai pengisi (agar pemroses sibuk) selama periode
aktivitas job-job interaktif rendah.
 Sasaran utama penjadwal jangka panjang adalah
memberi keseimbangan job-job campuran.
Strategi Penjadwalan
 Penjadwalan nonpreemptive
 Proses yang sedang berjalan tidak dapat disela.
 Sekali proses berada di status running (sedang
berjalan), maka proses tersebut akan dieksekusi
terus sampai proses berhenti karena selesai atau
diblok untuk menunggu I/O atau untuk meminta
beberapa layanan dari sistem operasi; dan CPU
tidak dapat diambil alih oleh proses yang lain.
Strategi Penjadwalan
 Penjadwalan preemptive
 Proses yang sedang berjalan dapat diinterupsi dan
dipindah ke status ready oleh sistem operasi
sehingga CPU dapat diambil alih proses yang lain.
Algoritma Penjadwalan
 FIFO (First-in, First-out) atau FCFS (First-come, First-
serve)
 SJF (Shortest Job First)
 RR (Round Robin)
 PS (Priority Schedulling)
Algoritma Penjadwalan
Klasifikasi berdasarkan prioritas :

 Algoritma penjadwalan tanpa prioritas


 Algoritma penjadwalan berprioritas :
 algoritma penjadwalan berprioritas statik
 algoritma penjadwalan berprioritas dinamis
Penjadwalan FIFO / FCFS
 Penjadwalan nonpreemptive dan tidak berprioritas
 Proses-proses diberi jatah waktu pemroses
berdasarkan waktu kedatangan
 Proses yang datang terlebih dahulu, juga dilayani
terlebih dahulu
 Saat proses mendapat jatah waktu pemroses, proses
dijalankan sampai selesai
 Job lama membuat job pendek menunggu
 Job tidak penting membuat job penting menunggu
Penjadwalan FIFO
 Contoh : ada 3 proses P1, P2, P3 dengan lama waktu
kerja CPU (CPU Burst-time) masing-masing sbb :
Penjadwalan FIFO
 Jika proses datang dengan urutan P1, P2, P3 dan
dilayani dengan algoritma FIFO maka dapat
digambarkan Gantt Chart-nya :

 Waktu tunggu P1 : 0 milidetik, P2 : 24, P3: 27


 Rata-rata waktu tunggu (Average Waiting Time /
AWT) : (0+24+27)/3 = 17 milidetik
Penjadwalan FIFO
 Jika waktu kedatangan proses adalah P3, P2, P1
maka Gantt Chartnya adalah :

 AWT = (0+3+6)/3 = 3 milidetik


Penjadwalan FIFO
 Menentukan Turn Around Time

 Turn around time (waktu penyelesaian) P1 adalah


24, P2 = 27, P3 = 30, maka rata-rata turn around
time = (24+27+30)/3 = 27 milidetik
Penjadwalan SJF

 Asumsi : waktu jalan proses (sampai selesai) sudah


diketahui sebelumnya
 Menjadwalkan proses dengan waktu terpendek lebih
dulu sampai selesai
Penjadwalan SJF
 Contoh :

 Gantt Chart :

 Nilai waktu tunggu : P1 = 3 milidetik, P2 = 16


milidetik, P3 = 9 milidetik, P4 = 0 milidetik
 AWT : (3+16+9+0) / 4 = 7 milidetik
Penjadwalan SJF
 Contoh menentukan Turn Around Time :
Penjadwalan SJF
 Contoh menentukan AWT untuk SJF nonpreemptive:

 A = 0 milidetik
 B = waktu mulai dilayani – waktu saat tiba = 8-2 = 6 milidetik
 C = waktu mulai dilayani – waktu saat tiba = 7-4 = 3 milidetik
 D = waktu mulai dilayani – waktu saat tiba = 12-5 = 7 milidetik
 AWT : (0+6+3+7) / 4 = 4 milidetik
Penjadwalan SJF
 Contoh menentukan AWT untuk SJF preemptive :

 A = 0 + (11-2) = 9 milidetik
 B = 0 + (5-4) = 1 milidetik

C = 0 milidetik
 D = 7-5 = 2 milidetik
 AWT : (9+1+0+2) / 4 = 3 milidetik.
Penjadwalan SJF
 Menentukan Turn Around Time
Penjadwalan Round Robin (RR)
 Penjadwalan preemptive dan tanpa prioritas
 Semua proses dianggap penting dan diberi sejumlah waktu
pemroses yang disebut kwanta (quantum) atau time-slice
dimana proses itu berjalan.
 Ketentuan algoritma RR :
 Jika quantum habis dan proses belum selesai maka proses
menjadi runnable dan pemroses dialihkan ke proses lain
 jika quantum belum habis dan proses menunggu suatu
kejadian (selesainya I/O), maka proses menjadi blocked
dan pemroses dialihkan ke proses lain.
 jika quantum belum habis tapi proses telah selesai maka
proses diakhiri dan pemroses dialihkan ke proses lain.
Penjadwalan Round Robin (RR)
 Contoh : kumpulan proses datang pada waktu 0

 Quantum 4 milidetik
 P1 mendapat 4 milidetik pertama
 20 milidetik berikutnya akan disela P2 dan P3
Penjadwalan Round Robin (RR)
 Gambar Gantt Chart

 Waktu tunggu tiap proses

 AWT : (6+4+7)/3 = 5,66 milidetik


Penjadwalan Round Robin (RR)
 Contoh : Menentukan Turn Around Time untuk
quantum waktu (q) = 3
Penjadwalan PS
 Tiap proses dilengkapi dengan prioritas.
 CPU dialokasikan untuk proses yang memiliki
prioritas paling tinggi.
 Jika beberapa proses memiliki prioritas yang sama,
maka akan digunakan algoritma FIFO.
Penjadwalan PS
 Contoh : ada 5 proses P1,P2,P3,P4,P5

 Gantt Chart
Penjadwalan PS

 AWT = (6+0+16+18+1) = 8,2 ms


Penjadwalan PS
 Prioritas biasanya menyangkut masalah : waktu, memori
yang dibutuhkan, banyaknya file yang boleh dibuka, dan
perbandingan antara rata-rata I/O burst dengan rata-rata
CPU burst.
 Priority schedulling bersifat preemptive atau
nonpreemptive. Jika ada proses P1 yang datang pada saat
P0 sedang berjalan, maka akan dilihat prioritas P1.
 Seandainya prioritas P1 lebih besar dibanding dengan
prioritas P0 maka pada non preemptive, algoritma tetap
akan menyelesaikan P0 sampai habis CPU burst-nya, dan
meletakkan P1 pada posisi head queue. Sedangkan pada
preemptive, P0 akan dihentikan dulu, dan CPU ganti
dialokasikan untuk P1.

Anda mungkin juga menyukai