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 + (1a)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)