Logika & Algoritma (KRY B) EDU S2 Pertemuan 4

PENJADWALAN PROSES
STMIK-IM BANDUNG

Chalifa Chazar
[email protected]

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

tertentu

Kriteria Penjadwalan


Kriteria untuk mengukur dan optimasi kinerja
penjawalan:






Adil (fairness )
Efisiensi
Waktu tanggap (response time )
Turn around time

Throughput

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

pemroses secara adil


Kriteria Penjadwalan


Efisiensi:
› Menghitung

perbandingan (rasio) waktu sibuk
pemroses dengan total waktu operasi sistem
komputer secara keseluruhan



Sasaran:
› Menjaga pemroses tetap dalam keadaan sibuk

sehingga efisiensi sistem komputer mencapai nilai
maksimum

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

sistem yang responsif

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:
Turn around time = waktu eksekusi + waktu menunggu


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
kerja yang dilakukan sistem

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
sistem komputer

Tipe-Tipe Penjadwalan
Penjadwalan jangka pendek (short-term scheduller)





Penjadwalan ini bertugas menjadwalkan alokasi pemroses diatara prosesproses 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
sumber daya yang intensif) dan memilih batch berikutnya yang akan
dieksekusi

Tipe-Tipe Penjadwalan

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

dapat diambil alih oleh proses lain sehingga proses
disela sebelum selesai dan harus dilanjutkan menunggu
jatah waktu pemroses tiba kembali pada proses itu

Algoritma-Algoritma
Penjadwalan



Algoritma-algoritma yang menetapkan strategi
non-preemptive:
› FIFO (First-in, First-out)
› SJF (Shortest Job First)
› HRN (Highest-Ratio Next)

Algoritma-Algoritma
Penjadwalan


Algoritma-algoritma yang menetapkan strategi
preemptive:






RR (Round-Robin)

MFQ (Multiple Feedback Queues)
SRF (Shortest-Remaining-First)
PS (Priority Schedulling)
GS (Guaranteed 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
 Algoritma penjadwalan berprioritas dinamis

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
time-slice tempat proses itu berjalan

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
proses running itu diakhiri dan pemroses dialihkan ke
proses lain

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
dijalankan sampai selesai

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)
› Prioritas dinamis (dynamic 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
berumur pendek dalam hal ini karena sistem dapat
menyesuaikan nilai prioritasnya ke nilai yang lebih tepat
sesuai lingkungan

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
menjadwalkan proses dengan waktu jalan terpendek
sampai selesai

Penjadwalan MFQ


Penjadwalan MFQ merupakan:
› Penjadwalan preemptive
› Penjadwalan berprioritas dinamis.



Sasaran penjadwalan MFQ ini adalah untuk
mencegah banyaknya aktivitas swapping

Penjadwalan SRF


Penjadwalan SRF merupakan:
› Penjadwalan preemptive
› Penjadwalan berprioritas dinamis.




Penjadwalan SRF merupakan perbaikan dari SJF
Pada SRF, proses dengan sisa waktu jalan
diestimasi terendah dijalankan, termasuk prosesproses yang baru tiba

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:
Prioritas = (waktu tunggu + waktu layanan)/waktu layanan

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
terendah sampai rasio proses diatas pesaing terdekatnya

Contoh
JOB

Burst Time

P1

24

P2

3

P3

3

Cari:
1. Waiting time
2. Rata-rata waiting time
3. Turn around time
4. Rata-rata turn around time
5. Gambar Gantt Chart

FIFO
Gantt Chart
P1
0

P2
24

P3
27

30

Waiting time
P1 = 0
P2 = 24
P3 = 27

Turn around time
P1 = 24+ 0 = 24
P2 = 3 + 24 = 27
P3 = 3 + 27 = 30

Rata-rata waiting time
(0+24+27)/3 = 17

Rata-rata turn around time
(24+27+30)/3 = 27

SJF Non-preemptive
Gantt Chart
P2
0

P3
3

P1
6

Waiting time
P1 = 6
P2 = 0
P3 = 3
Rata-rata waiting time
(6+0+3)/3 = 3

30

Turn around time
P1 = 24+ 6 = 30
P2 = 3 + 0 = 3
P3 = 3 + 3 = 6
Rata-rata turn around time
(30+3+6)/3 = 13

RR
Kwanta 4
Gantt Chart
P1
0

P2
4

P3 P1
7

10

P1
14

Waiting time
P1 = 0 + (10-4) = 6
P2 = 4
P3 = 7
Rata-rata waiting time
(6+4+7)/3 = 5,67

P1
18

P1
22

P1
26

30

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

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
4. Rata-rata turn around time
5. Gambar Gantt Chart

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
4. Rata-rata turn around time
5. Gambar Gantt Chart

SEKIAN&TERIMA KASIH
Chalifa Chazar, S.T, M.T
Email: [email protected]
Copyright @2015