Transcript Pert5
Matakuliah
: Sistem Operasi
Learning Outcomes
Pada akhir pertemuan ini , diharapkan mahasiswa akan
mampu :
Mendemonstrasikan penjadwalan proses pada sistem
interaktif, real time, dan thread
Outline Materi
Tipe penjadwalan proses dari prosesor
Algoritma dari penjadwalan:
Round Robin Scheduling
Penjadwalan dengan prioritas
Multiple Queues
Shortest process next
Guaranteed Scheduling
Lottery Scheduling
Fair-share Scheduling
Type Of Processor Scheduling
Long-Term scheduling
Biasanya dilakukan saat proses baru dibuat/dimulai
Medium-Term scheduling
Biasanya dilakukan pada proses yang sebagian atau
sepenuhnya resourcenya ada pada main memory
Short-Term scheduling
biasanya dilakukan pada proses yang sudah pada posisi
ready untuk dijalankan oleh prosesor
I/O scheduling
Biasanya dilakukan pada proses yang sedang
ditunda/pending akibat permintaan I/O
Type Of Processor Scheduling
Algoritma dari Penjadwalan Proses
Algoritma dari sort-term scheduling mempunyai kriteria agar bisa
dibandingkan antar algoritma yaitu:
1.
CPU utilization , pemanfaatan cpu harus maksimal yng dinyatakan
dalam persentase 0-100%
2. Througput, banyaknya proses yang dapat diseleseikan dalam satuan
waktu.
3. Turnaround time, Banyaknya waktu yang diperlukan untuk
mengeksekusi proses, dari menunggu meminta tempat di main
memory hingga dieksekusi oleh CPU
4. Waiting Time, Waktu yang diperlukan proses untuk menunggu di
ready queue.
5. Response time, Waktu yang dibutuhkan proses dari permintaan
untuk dilayani hingga ada respon pertama yang menanggapi
permintaan tersebut
6. Fairneness, meyakinkan bahwa tiap-tiap proses akan mendapatkan
waktu penggunaan cpu yang adil.
Unruk selanjutnya akan menggunakan Average waiting time (AWT)
untuk membandingkan antar algoritma.
Algoritma dari Penjadwalan Proses
Algoritma terdiri dari dua decision mode :
1. Nonpreemptive
jika ada proses yang berjalan akan terus dieksekusi
oleh cpu sampai terminated atau di block /
menunggu proses I/O yang diminta oleh proses
tersebut.
2. Preemptive
Jika ada proses yang sedang berjalan kemudian di
interupt maka akan dipindahkan ke status ready
sehingga dapat melakukan proses yang lain.
First Come First served scheduling
(FCFS)
Proses yang pertama kali meminta jatah waktu akan
dilayani terlebih dahulu.
Misal ada 3 proses: P1 , P2, dan P3
Proses
Burst time (ms)
P1
24
P2
3
P3
3
P1
P2
0
24
Maka AWT= (0+24+27) /3 = 17 ms
p3
27
30
Shortest Job First Scheduler (SJF)
Proses yang memiliki CPU burst paling kecil dilayani
terlebih dahulu.
Misal ada 3 proses: P1, P2, dan P3
Proses
Burst time (ms)
P1
24
P2
3
P3
3
P2
0
P3
3
P1
6
Maka AWT= (0+3+6) /3 = 3 ms
30
Shortest Job First Scheduler (SJF)
Algoritma ini sulit di realisasikan karena sulit diprediksi
burst time proses berikutnya. Namun dapat diprediksi
dengan Rumus:
aT0 + (1a)T1
dimana T0 Waktu proses yang sedang berjalan
T1 Waktu proses berikutnya
…
dengan a = ½,
Estimates:
T0 , T0/2+ T1/2 , T0/4+ T1/4+ T2/2, T0/8+ T1/8+ T2/4+
T3/2
Priority Scheduling
Proses dengan prioritas tertinggi di run terlebih dulu
Untuk mencegah proses dengan prioritas tertinggi di run tanpa
batas, maka digunakan clock-interrupt untuk menurunkan
prioritas proses yang sedang run.
Proses
Burst time (ms)
Priority
P1
24
2
P2
3
1
P3
3
3
P2
0
P1
3
Maka AWT= (0+3+27) /3 = 10 ms
P3
27
30
Penjadwalan Round-Robin
Setiap proses diberi interval waktu, disebut quantum,
waktu untuk run.
Pertukaran penggunaan CPU dari satu proses ke
proses berikutnya membutuhkan waktu untuk tugas
administrasi, yaitu :
saving dan loading registers dan memory map,
updating beberapa tabel dan list, dll.
Proses pertukaran ini disebut process-switch atau
context-switch.
Penjadwalan Round-Robin
Penjadwalan Round-Robin
Jika Quantum time 4 ms, maka
Proses
Burst time (ms)
P1
8
P2
3
P3
3
P1
0
P2
4
P3
7
P1
10
Maka AWT= (6+4+7) /3 = 5,667 ms
14
Multiple Queue Sceduling
Yaitu membagi beberapa prose s dalam group-group
antrian
Tiap-tiap group antrian dikerjakan dengan algoritma
yang berbeda
Dan jika proses tersebut sudah berada pada group
antrian tertentu maka tidak akan bisa berpindah
group antrian.
Tiap group antrian memiliki prioritas.
Multilevel Feedback Queue
Scheduling
Merupakan pengembangan dari Multilevel Queue
Perbedaanya adalah pada multilevel feedback queue
dapat berpindah group antrian
Jika suatu proses akan menggunakan CPU dlm waktu
lama maka proses tersebut dapat berpindah ke group
antrian yang lebih rendah skala prioritasnya
Sebaliknya jika proses menggunakan CPU dlm waktu
yang lebih singkat dapat berpindah ke group antrian
yang prioritasnya lebih tinggi
Guaranted Sceduling
Jika ada n user setiap user seharusnya 1/n * CPU
Time
Ratio = (waktu yg dipakai/waktu seharusnya)
Dipilih Ratio yang paling kecil
Lottery Scheduling
Simpler implementation
Give process lottery tickets for various system
resources, such as CPU time
A lottery ticket is chosen at random, but the process
holding more tickets gets better chance to be chosen
Fair-Share Scheduling
Contoh: 2 user (CPU Time : @ 50 %), Jika user1 mempunyai
proses A,B,C,D dan user2 mempunyai proses E, urutan sbb:
A,E,B,E,C,E,D,E
Jika user 1 mempunyai cpu time 2kali user 2 maka
urutannya berubah menjadi : A,B,E,C,D,E,A,B,E,C,D,E
Quis
Diketahui 4 buah proses P1,P2,P3 , dan P4 dengan
burst time sebagai berikut
Proses
Burst Time (ms)
P1
6
P2
8
P3
10
P4
5
Gambar Gant Chart dan hitunglah AWT!
a. FCFS (First Come First Serve)
b. SJF (Shortest Job First Sceduler)
c. Round-Robin Scheduling (QT=4 ms)