Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Haryono Setiadi
Sistem Operasi
Penjadwalan Proses
Outline
1. Deskripsi Penjadwalan Proses 2. Kriteria Proses
3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses
1
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Tugas Kelompok
KELOMPOK PRIA KELOMPOK WANITA
1. Sistem Antrian Bank?
2. Tujuan Sistem Antrian Bank?
3. Mekanisme sistem antriannya?
4. Jika di dalam bank tersebut ada 2 meja teller, simulasikan sistem antrian dengan bermain peran :
• Nasabah
• Teller
• Sistem Antrian
1. Sistem Antrian IGD?
2. Tujuan Sistem Antrian IGD?
3. Mekanisme sistem antriannya?
4. Jika di dalam IGD tersebut ada 3 pasien biasa (batuk dan pilek) dan 2 pasien darurat (kecelakaan dan gagal fungsi jantung) bagaimana sebaiknya antriannya? Jelaskan!
5. Jelaskan dengan model simulasi gambar!
Review Pertemuan Minggu Lalu
• Proses keadaan ketika sebuah program sedang di eksekusi
• Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan.
• Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process)
• Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses .
• Proses yang dibentuk diantrikan ke CPU untuk diproses
3
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Outline
1. Deskripsi Penjadwalan Proses 2. Kriteria Proses
3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses
5
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Deskripsi Penjadwalan Proses
• Penjadwalan Proses?
• Kumpulan kebijaksanaan dan mekanisme di
sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
• Penjadwalan bertugas memutuskan hal-hal berikut :
• Proses yang harus berjalan
• Kapan dan selama berapa lama proses berjalan
Outline
1. Deskripsi Penjadwalan Proses 2. Kriteria Proses
3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses
7
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Kriteria Proses
• Sasaran utama penjadwalan proses : Optimasi kinerja sistem komputer menurut kriteria tertentu.
• Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah:
• Adil (fairness)
• Efisiensi
• Waktu Tanggap (response time)
• Turn arround Time
• Troughput
Kriteria Proses
• Adil (fairness)
• Proses-proses diperlakukan sama yaitu :
mendapat jatah waktu layanan pemroses yang sama
• Tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami kekurangan waktu
• Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari
• Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
• Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
9
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Kriteria Proses
• Efisiensi
• Efisiensi atau utilisasi pemroses dihitung
dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan.
• Sasaran penjadwalan : menjaga agar pemroses tetap dalam keadaan sibuk efisiensi sistem komputer mencapai nilai maksimum.
• Keadaan sibuk berarti pemroses tidak menganggur
Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
Kriteria Proses
• Waktu tanggap (response time)
• waktu yang dihabiskan dari saat karakter
terakhir dari perintah dimasukkan sampai hasil pertama muncul di layar (terminal)
• Sasaran penjadwalan : meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsif .
• Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
• Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
11
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Kriteria Proses
• Turn arround time
• Waktu yang dihabiskan dari saat program/job
mulai masuk ke sistem sampai proses diselesaikan sistem.
• Waktu = waktu yang dihabiskan proses berada di sistem
• Turn arround time = waktu eksekusi + waktu menunggu
• Sasaran penjadwalan : meminimalkan turn arround time.
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
Kriteria Proses
• Troughput
• Troughput adalah jumlah kerja yang dapat diselesesaikan selama satu selang/unit waktu.
• Cara menghitung throughput : jumlah proses/job pemakai yang dapat dieksekusi dalam satu unit/interval waktu tertentu.
• Sasaran penjadwalan : memaksimalkan jumlah job/
proses yang dilayani per satu interval waktu.
• Lebih tinggi angka througput maka lebih banyak kerja yang
• Adil
• Efisiensi
• Respon Time
• Turn Around Time
• Troughput
13
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Outline
1. Deskripsi Penjadwalan Proses 2. Kriteria Proses
3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses
Strategi Penjadwalan
• Ada 2 strategi penjadwalan :
• Penjadwalan nonpreemptive
• Penjadwalan preemptive
15
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Strategi Penjadwalan
• Penjadwalan nonpreemptive (run-to-completion).
• Proses yang sedang berjalan tidak dapat disela .
• Sekali proses berada di status running (sedang berjalan), maka proses tersebut akan dieksekusi terus
sampai proses berhenti.
• CPU tidak dapat diambil alih oleh proses yang lain.
Strategi Penjadwalan
• Penjadwalan preemptive.
• Proses yang sedang berjalan dapat diambil alih proses lain (disela) yang mempunyai prioritas lebih tinggi
• Proses yang disela berubah menjadi state Ready .
• CPU dapat diambil alih oleh proses yang lain.
17
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Outline
1. Deskripsi Penjadwalan Proses 2. Kriteria Proses
3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses
Algoritma Penjadwalan
Terdapat banyak algoritma, diantaranya :
• Algoritma menggunakan strategi nonpreemptive
√ FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
√ SJF (Shortest Job First)
√ HRN (Highest – Ratio Next)
• b. Algoritma menggunakan strategi preemptive
MFQ (Multiple Feedback Queues)
RR (Round Robin)
SRF (Shortest Remaining First)
PS (Priority Schedulling)
GS (Guaranteed Schedulling)
19
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
Algoritma Penjadwalan
(FIFO)
• Penjadwalan nonpreemptive & penjadwalan tidak berprioritas.
• Penjadwalan paling sederhana , yaitu :
• Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan
• Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai
• Penjadwalan ini adil yaitu proses yang datang duluan, dilayani duluan juga.
• Dikatakan tidak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu.
• Job-job tak penting dapat membuat job-job penting menunggu.
21
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(FIFO)
Contoh :
Misal ada 3 proses P1, P2, P3 yang datang dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb :
Algoritma 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
23
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(FIFO)
Jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya adalah :
AWT = (0+3+6)/3 = 3 milidetik
Algoritma 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
25
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(FIFO) – Soal Latihan Soal Latihan :
Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb :
Jika proses datang dengan urutan P1, P2, P3, P4 dan dilayani dengan algoritma FIFO, buatlah gant chart, hitung AWT dan TAT
PROSES BURST TIME
P1 10
P2 5
P3 4
P4 8
Algoritma Penjadwalan
(FIFO) – Soal Latihan
• Jika diketahui 5 macam antrian proses yaitu : A-B-C-D-E dengan waktu kedatangan berurutan 0,1,2,2,5 dan prosesor sedang tidak aktif (PP=0), lama proses berturut-turut antara lain 5,2,6,8,3.
• Hitunglah AWT dan TAT
27
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Selesai Eksekusi = Mulai Eksekusi + Selesai Eksekusi TA = Selesai Eksekusi - Total Waktu Tiba
Algoritma Penjadwalan
(FIFO) – Soal Latihan
SJF (Shortest Job First)
29
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(SFJ - Shortest Job First)
• Merupakan penjadwalan nonpreemptive dan penjadwalan tidak berprioritas .
• Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) diketahui sebelumnya .
• Mekanisme penjadwalan adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai.
Algoritma Penjadwalan
(SFJ - Shortest Job First)
•
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
31
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(SFJ - Shortest Job First)
•
Menentukan Turn Around Time (TAT)
• Turn around time (waktu penyelesaian) P4 adalah 3, P1 = 9, P3 = 16 dan P4 = 24 maka rata-rata turn around time =
(3+9+16+24)/4 = 13 milidetik
Algoritma Penjadwalan
(SFJ - Shortest Job First)
•
Contoh menentukan Turn Around Time :
33
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(SFJ - Shortest Job First)– Soal Latihan Soal Latihan :
Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb :
Jika proses dilayani dengan algoritma SFJ, buatlah gant chart, hitung AWT dan TAT
PROSES BURST TIME
P1 10
P2 5
P3 4
P4 8
Highest Ratio Next (HRN)
35
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
• Penjadwalan untuk mengoreksi kelemahan SJF.
• Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan fungsi waktu layanan tetapi juga jumlah waktu tunggu proses .
• Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.
• Prioritas dinamis HRN dihitung berdasarkan rumus:
• Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan
Algoritma Penjadwalan
Highest Ratio Next (HRN)
Algoritma Penjadwalan
Highest Ratio Next (HRN)
• Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai
pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus.
• Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.
37
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Penjadwalan ini merupakan : Penjadwalan non-preemptive Penjadwalan berprioritas dinamis.
Rumus : Rp = ( s + t ) / t
waktu tunggu : s, waktu layanan : t
Dari soal diatas yang dikerjakan pertama kali adalah job yang tiba pertama kali. Dikarenakan job lain belum tiba.
Algoritma Penjadwalan
Highest Ratio Next (HRN)
B=(4-1), C= (4-2), D=(4-3), E=(4-4)
Algoritma Penjadwalan
Highest Ratio Next (HRN)
39
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
Highest Ratio Next (HRN)
C= (6-2), D=(6-3), E=(6-4)
Algoritma Penjadwalan
Highest Ratio Next (HRN)
D=(11-3), E=(11-4)
41
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
RR (Round Robin)
Algoritma Penjadwalan
(RR – Round Robin)
•
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.
43
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(RR – Round Robin)
Contoh : kumpulan proses datang pada waktu 0
Quantum 4 milidetik
P1 mendapat 4 milidetik pertama
20 milidetik berikutnya akan disela P2 dan P3
Algoritma Penjadwalan
(RR – Round Robin)
•
Gambar Gantt Chart
•
Waktu tunggu tiap proses
45
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(RR – Round Robin)
Contoh : Menentukan Turn Around Time untuk quantum waktu (q) = 3
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan Soal Latihan :
Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb :
Jika proses dilayani dengan algoritma RR dan quatum ditetapkan 4 ms, buatlah gant chart, hitung AWT dan TAT
PROSES BURST TIME
P1 10
P2 5
P3 4
P4 8
47
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
CONTOH SOAL 2
Jika diketahui waktu tiba proses sama yaitu 0, dengan Quantum (Q) = 2.
Hitunglah waktu Turn Arround (TA) untuk tiap-tiap proses, Total TA dan Rata-rata TA-nya?!
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan
A B A B C D E A C E C
0 3 6 9 11 14 17 19 22 25 26 28
JAWAB SOAL 2
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan
49
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
CONTOH SOAL 3
Jika diketahui waktu tiba proses bukan 0, dengan Quantum (Q) = 2.
Hitunglah waktu Turn Arround (TA) untuk tiap- tiap proses?!
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan
A B A B C D E A C E C E C
0 2 4 6 7 9 10 12 13 15 17 19 21 22
PROSES NAMA WAKTU
TIBA LAMA
EKSEKUSI MULAI
EKSEKUSI SELESAI
EKSEKUSI TA
A 0 5 0 13 13
B 1 3 2 7 6
C 5 7 7 22 17
D 6 1 9 10 4
E 7 6 10 21 14
JAWAB SOAL 3
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan
51
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
PS - Priority Schedulling
Algoritma Penjadwalan
(PS - Priority Schedulling)
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 .
53
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(PS - Priority Schedulling)
•
Contoh : ada 5 proses P1,P2,P3,P4,P5
•
Gantt Chart
Algoritma Penjadwalan
(PS - Priority Schedulling)
AWT = (6+0+16+18+1) = 8,2 ms
55
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Algoritma Penjadwalan
(RR – Round Robin)– Soal Latihan Soal Latihan :
Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb :
Jika proses dilayani dengan algoritma PS, buatlah gant chart, hitung AWT dan TAT PROSES BURST TIME PRIORITAS
P1 10 2
P2 5 1
P3 4 4
P4 8 3
Algoritma Penjadwalan
(PS - Priority Schedulling)
•
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.
57
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Shortest-Remaining-First (SRF)
Penjadwalan ini merupakan :
• Penjadwalan preemptive dengan sisa waktu terpendek.
• Penjadwalan berprioritas dinamis.
Contoh Soal I
Algoritma Penjadwalan
Shortest-Remaining-First (SRF)
59
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Jawab Soal I
PROSES NAMA WAKTU
TIBA LAMA
EKSEKUSI MULAI
EKSEKUSI SELESAI
EKSEKUSI TA
A 0 7 0 14 14
B 2 3 2 5 3
C 4 9 14 23 19
D 5 4 5 9 4
A B B D A C
0 2 4 5 9 14 23
Algoritma Penjadwalan
Shortest-Remaining-First (SRF)
Contoh Soal II
Hitunglah waktu tunggu tiap-tiap proses dan rata-ratanya (AWT) dari tabel proses di bawah ini?!
PROSES ID WAKTU TIBA LAMA EKSEKUSI
P1 0 10
P2 3 6
P3 7 12
P4 9 8
Algoritma Penjadwalan
Shortest-Remaining-First (SRF)
61
Sistem Operasi| [email protected] Sistem Operasi| [email protected]
Terima Kasih
PROSES ID WAKTU TIBA LAMA EKSEKUSI MULAI
EKSEKUSI SELESAI
EKSEKUSI WAKTU TUNGGU (WT)
P1 0 10 0 16 (0-0) +(9-3)=6
P2 3 6 3 7 (3-3)=0
P3 7 12 30 42 (30-7)=23
P4 9 8 22 30 (22-9)=13
P5 10 6 16 22 (16-10)=6
Total WT=48 Jawab Soal II
P1 P2 P2 P1 P1 P5 P4 P4
0 3 7 9 10 16 22 30 42
Algoritma Penjadwalan
Shortest-Remaining-First (SRF)
63