PENJADWALAN PROSES
Deskripsi Penjadwalan
Penjadwalan merupakan kumpulan kebijaksanaan
dan mekanisme di sistem operasi yang berkaitan
dengan urutan kerja yang dilakukan oleh komputer
Tugas:
› Proses yang harus berjalan
› Kapan dan selama berapa lama proses berjalan
Sasaran utama:
› optimasi kinerja sistem komputer menurut kriteria
Kriteria Penjadwalan
Kriteria untuk mengukur dan optimasi kinerja
penjawalan:
› Adil (fairness ) › Efisiensi
› Waktu tanggap (response time ) › Turn around time
Kriteria Penjadwalan
Adil (
fairness
):
› Proses-proses diperlakukan sama yaitu mendapat
jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation (kondisi proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan)
Sasaran:
› Menjamin setiap proses mendapat layanan dari
Kriteria Penjadwalan
Efisiensi:
› Menghitung perbandingan (rasio) waktu sibuk
pemroses dengan total waktu operasi sistem komputer secara keseluruhan
Sasaran:
› Menjaga pemroses tetap dalam keadaan sibuk
Kriteria Penjadwalan
Waktu tanggap (response time): › Waktu tanggap pada sistem interaktif
Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukan oleh program atau transaksi sampai hasil pertama muncul di perangkat I/O
› Waktu tanggap pada sistem waktu nyata
Waktu dari saat kemunculan suatu kejadian sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi
Sasaran:
› Meminimalkan waktu tanggap sehingga menghasilkan
Kriteria Penjadwalan
Turn around time
:
› Waktu yang dihabiskan dari saat proses atau job
mulai masuk ke sistem sampai proses itu diselesaikan sistem
› Diekspresikan sebagai penjumlahan waktu eksekusi
dan waktu menunggu yaitu:
Sasaran:
› Meminimalkan turn around time
Kriteria Penjadwalan
Throughput
:
› Jumlah kerja yang dapat diselesaikan selama satu
selang/unit waktu
Sasaran:
› Memaksimalkan jumlah job/proses yang dilayani per
satu interval waktu
› Lebih tinggi angka throughput maka lebih banyak
Kriteria Penjadwalan
Kriteria-kriteria tersebut saling bergantung dan
dapat saling bertentangan sehingga tidak
memungkinkan optimasi kriteria secara simultan
(serentak/bersamaan)
Kebijakan perencanaan penjadwalan melibatkan
kompromi diantara kebutuhan-kebutuhan yang
saling bertentangan
Kompromi bergantung sifat dan penggunaan
Tipe-Tipe Penjadwalan
Penjadwalan jangka pendek (short-term scheduller)
› Penjadwalan ini bertugas menjadwalkan alokasi pemroses diatara
proses-proses yang ready di memori utama
Penjadwalan jangka menengah (medium-term scheduller)
› Penjadwalan ini menangani proses-proses swapping (aktivitas
pemindahan proses yang tertunda dari memori utama ke memori sekunder)
Penjadwalan jangka panjang (long-term scheduller)
› Bekerja terhadap antrian batch (proses-proses dengan penggunaan
Strategi Penjadwalan
Penjadwalan
non-preemptive
› Begitu proses diberi jatah waktu pemroses maka
pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai
Penjadwalan
preemptive
› Saat proses diberi jatah waktu pemroses maka pemroses
Algoritma-Algoritma
Penjadwalan
Algoritma-algoritma yang menetapkan strategi
non-preemptive
:
Algoritma-Algoritma
Penjadwalan
Algoritma-algoritma yang menetapkan strategi
preemptive
:
› RR (Round-Robin)
› MFQ (Multiple Feedback Queues) › SRF (Shortest-Remaining-First) › PS (Priority Schedulling)
Algoritma-Algoritma
Penjadwalan
Klasifikasi lain berdasarkan adanya prioritas di
proses-proses, yaitu:
› Algoritma penjadwalan tanpa prioritas
› Algoritma penjadwalan berprioritas, terdiri dari: Algoritma penjadwalan berprioritas statis
Penjadwalan RR
Penjadwalan ini merupakan:
› Penjadwalan preemptive, bukan di-preempt secara
langsung oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time
› Penjadwalan tanpa prioritas
Semua proses dianggap penting dan diberi sejumlah
waktu pemroses yang disebut kwanta (
quantum
) atau
Penjadwalan RR
Ketentuan:
› Jika kwanta habis dan proses belum selesai maka proses
running itu menjadi ready (runnable) dan pemroses dialihkan ke proses lain
› Jika kwanta belum habis dan proses menunggu suatu
kejadian (misal menunggu selesainya suatu proses I/O), maka proses running itu menjadi blocked dan pemroses dialihkan ke proses lain
› Jika kwanta belum habis tapi proses telah selesai maka
Penjadwalan FIFO
Penjadwalan FIFO merupakan:
› Penjadwalan non-preemptive (run to completion) › Penjadwalan tidak berprioritas
Ketentuan:
› Proses-proses tidak diberi jatah waktu pemroses,
diurutkan berdasarkan waktu kedatangan proses-proses itu ke sistem
› Begitu proses mendapat jatah waktu pemroses, proses
Penjadwalan Berprioritas
(PS)
Ide penjadwalan adalah masing-masing proses
diberi prioritas dan proses berprioritas tinggi
menjadi running (yaitu mendapat jatah waktu
pemroses)
Prioritas dapat diberikan secara:
› Prioritas statis (static priorities)Penjadwalan Berprioritas
(PS)
Prioritas statis (
static priorities
)
› Prioritas statis berarti prioritas tidak berubah
Prioritas dinamis (
dynamic priorities
)
› Prioritas dinamis merupakan mekanisme menanggapi
perubahan lingkungan sistem saat beroperasi di lingkungan nyata
› Prioritas awal yang diberikan ke proses mungkin hanya
Penjadwalan SJF
Penjadwalan SJF merupakan: › Penjadwalan non-preemptive
› Penjadwalan dapat dikatakan sebagai berprioritas. Di SJF,
prioritas diasosiasikan dengan masing-masing proses dan pemroses dialokasilan ke proses dengan prioritas tertinggi. Proses dengan prioritas sama dijadwalakan dengan FIFO
Mekanisme penjadwalan SJF adalah lebih dulu
Penjadwalan MFQ
Penjadwalan MFQ merupakan:
› Penjadwalan preemptive
› Penjadwalan berprioritas dinamis.
Sasaran penjadwalan MFQ ini adalah untuk
Penjadwalan SRF
Penjadwalan SRF merupakan:
› Penjadwalan preemptive
› Penjadwalan berprioritas dinamis.
Penjadwalan SRF merupakan perbaikan dari SJF
Pada SRF, proses dengan sisa waktu jalan
Penjadwalan HRN
Penjadwalan HRN merupakan:
› Penjadwalan non-preemptive› Penjadwalan berprioritas dinamis.
Penjadwalan ini juga mengkoreksi kelemahan SJF
HRN adalah strategi penjadwalan
non-preemptive
dengan prioritas proses tidak hanya merupakan
waktu fungsi dari waktu layanan tapi juga jumlah
waktu tunggu proses
Prioritas dinamis HRN dihitung berdasarkan rumus:
Penjadwalan GS
Penjadwalan GS merupakan:
› Penjadwalan preemptive
› Penjadwalan berprioritas dinamis.
Penjadwalan ini berupaya memberi masing-masing
pemakai daya pemroses yang sama
Jika terdapat N pemakai maka tiap pemakai diupayakan
mendapatkan 1/N daya pemroses
Penjadwalan ini akan menjalankan proses dengan rasio
Contoh
JOB Burst Time
P1 24
P2 3
P3 3
Cari:
1. Waiting time
2. Rata-rata waiting time 3. Turn around time
FIFO
Rata-rata waiting time (0+24+27)/3 = 17
Turn around time P1 = 24+ 0 = 24
P2 = 3 + 24 = 27 P3 = 3 + 27 = 30
SJF Non-preemptive
Rata-rata waiting time (6+0+3)/3 = 3
Turn around time P1 = 24+ 6 = 30 P2 = 3 + 0 = 3 P3 = 3 + 3 = 6
RR
Rata-rata waiting time (6+4+7)/3 = 5,67
Turn around time P1 = 24+ 6 = 30 P2 = 3 + 4 = 7 P3 = 3 + 7 = 10
Rata-rata turn around time (30+7+10)/3 = 15,67
P1 P2 P3 P1 P1 P1 P1 P1
LATIHAN
JOB Arrival Time Burst Time
P1 0 8
P2 3 4
P3 4 9
P4 7 5
Cari dengan menggunakan penjadwalan FIFO, SJF, RR: 1. Waiting time
2. Rata-rata waiting time 3. Turn around time
LATIHAN
JOB Arrival Time Burst Time
P1 0 8
P2 3 4
P3 4 9
P4 7 5
Cari dengan menggunakan penjadwalan SRN: 1. Waiting time
2. Rata-rata waiting time 3. Turn around time