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, Firstserve)

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

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