Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
Pertemuan Ke - 9Penjadwalan CPU
Penjadwalan CPU
• Konsep Dasar dan Definisi Penjadwalan CPU
• Kriteria Penjadualan
• Algoritma Penjadualan
Konsep Dasar Penjadwalan
• SO modern umumnya merupakan sistemmultitasking.
• Tujuan Utama: agar beberapa proses dapatberjalan secara bersamaan, hal ini untukmemaksimalkan kinerja CPU.
• Pemanfaatan CPU maksimum diperolehdengan multiprogramming
• CPU-I/O Burst Cycle-Pelaksanaan proses terdiri dari suatu siklus tunggu I/O dan eksekusi CPU
Konsep Dasar Penjadwalan
Proses dapat juga dibagi atas 2 macam:
a. I/O-bound process – menghabiskan waktu lebihbanyak untuk mengerjakan I/O daripada di CPU
b. CPU-bound process – jarang melakukanpermintaan I/O, menggunakan lebih banyakwaktunya di CPU
Sistem dengan kinerja yang terbaik akan memilikikombinasi proses CPU bound dan I/O bound yangseimbang.
Definisi Penjadwalan Proses
Definisi
• Kumpulan kebijaksanaan dan mekanismesistem operasi yang mengatur urutan danjangka waktu eksekusi proses-proses yangaktif.
Tugas
• Memilih proses, menentukan kapan sertaberapa lama proses tersebut bolehmenggunakan processor
Komponen Penjadwalan Proses
1. Antrian Penjadwalan (Scheduler Queue)
a. Ready queue
b. I/O queue
c. Job queue
2. Penjadwal (Scheduler)
a. Short-Term Scheduler
b. Medium-Term Scheduler
c. Long-Term Scheduler
Komponen Penjadwalan Proses
Penjadwal ( Scheduler )
Suatu program dengan algoritma tertentu yangmenyeleksi proses yang akan dieksekusi.
Jenis scheduler :a. Penjadwal jangka pendek (short-term
scheduler).
b. Penjadwalan jangka menengah ( medium-termscheduler )
c. Dispatcher
Komponen Penjadwalan Proses
Jenis scheduler :
a. Penjadwal jangka pendek (short-termscheduler) menyeleksi proses yang beradadiantrian ready.
Komponen Penjadwalan Proses
Jenis scheduler :b. Penjadwalan jangka menengah (Medium-term
Scheduler) Jika ruang memori utama tidak cukup menampung proses,
SO akan melakukan swapping yaitu memindahkan imageprocess ke memori sekunder seperti disk.
Umumnya yang dikorbankan adalah proses yang berstatusblocked atau menunggu event.
Jika event sudah selesai, image process harus dikembalikanke memori utama.
Medium-term scheduler bertugas menyeleksi proses yangakan diswapping (swap-out) dan yang akan dikembalikan kememori utama (swap-in).
Komponen Penjadwalan Proses
Jenis scheduler :
c. Dispatcher suatu program SO yang berfungsi melakukan
pengalihan eksekusi dari proses yang running keproses yang dipilih oleh “short-term scheduler”.
Bertugas memindahkan isi register prosesor kePCB proses yang dihentikan.
Dispatch latency – terdapat waktu yang terbuang(CPU idle) dimana dispatcher menghentikan satuproses dan menjalankan proses lain
Kriteria Penjadwalan Proses
Dalam melakukan penjadwalan proses, SOmempertimbangkan sejumlah faktor:
1. Keadilan (Fairness)
2. Efisiensi (Processor Utilization)
3. Waktu tanggapan (Response time)
4. Waiting Time
5. Turn Around Time
Kriteria Penjadwalan Proses
1. Keadilan (Fairness)
a. Memastikan bahwa setiap proses mendapatgiliran yang adil, tetapi tidak selalu berarti jatahwaktu yang sama.
b. Perlu dipastikan tidak terjadi proses yang tidakterlayani dalam jangka waktu yang lama.
Kriteria Penjadwalan Proses
2. Efisiensi (Processor Utilization)
Penggunaan waktu CPU (CPU Time) seoptimalmungkin processor terpakai terus menerus selamamasih ada antrian ready.
Kriteria Penjadwalan Proses
3. Waktu tanggapan (Response time)
– Mempercepat (secepat dan sependek mungkin)waktu tanggap dengan pemakai secara interaktif.
– Response time adalah waktu antara penggunamemberikan input dengan SO memberikan outputatau umpan balik ke pengguna.
Kriteria Penjadwalan Proses
4. Waktu Tunggu (Waiting Time)
Harus seminim mungkin. Merupakan durasi waktuyang dihabiskan suatu proses dalam antrian readyselama siklus hidupnya
Kriteria Penjadwalan Proses
5. Turn Around Time
Turn around time harus seminim mungkin.Merupakan durasi waktu dari suatu proses ataujob masuk ke dalam sistem sampai dengan selesai.
Turn arround time = waktu eksekusi + waktumenunggu
Kriteria Penjadwalan Proses
6. Throughput
Throughput rata-rata proses ( jumlah kerja ) yangdapat diselesaikan per satuan waktu. Nilaithroughput harus tinggi, karena lebih tinggi angkatroughput, maka lebih banyak kerja yang dapatdilakukan sistem.
Kriteria Penjadwalan yang Optimal
1. Memaksimumkan utilisasi CPU
2. Memaksimumkan throughput
3. Meminimukan turnaround time
4. Meminimumkan waiting time
5. Meminimumkan response time
Strategi Dasar Penjadwalan
1. Non-preemptive (Run to completion)
2. Preemptive
Strategi Dasar Penjadwalan
1. Non-preemptive (Run to completion)
a. Algoritma Penjadualan dimana proses-prosesyang sedang running tidak bisa dihentikansementara, dan harus running terus sampaiselesai.
b. Strategi ini bisa membahayakan sistem atauproses lain, artinya bila terjadi crash, maka SOtidak berfungsi.
c. Umumnya digunakan pada sistem sekuensial
Strategi Dasar Penjadwalan
2. Preemptive
a. Algoritma penjadualan yang memungkinkanbeberapa proses yang sedang running, bisadihentikan sementara.
b. Algoritma ini cocok untuk SO yang menerapkanmultitasking, real time, dan time sharing.
Pemicu terjadinya penjadwalan
Kapan keputusan untuk algoritma dilakukan adalah saat suatu proses:
1. Switch dari status running ke waiting.
2. Switch dari status running ke ready.
3. Switch dari status waiting ke ready.
4. Terminates.
Algoritma Penjadwalan
• First-come, first-served (FCFS)
• Shortest-Job-First (SJF)
• Priority
• Guaranteed
• Round-Robin (RR)
• Multilevel Queue
• Multilevel Feedback Queue
• Two Level Scheduling
First-Come, First-Served (FCFS)
1. Setiap proses diberi jadwal eksekusi berdasarkanurutan waktu kedatangan.
2. FCFS jarang digunakan secara tersendiri tetapi dikombinasikan dengan algoritma lain karena:
a. Timbul masalah“waiting time”terlalu lama jikadidahului oleh proses yang waktu selesainya lama.
b. Job yang pendek harus menunggu job yang panjang
c. Job yang penting harus menunggu job yang kurang penting.
First-Come, First-Served (FCFS)
3. Algoritma penjadwalan ini bersifat non-preemptive
4. FCFS cocok untuk sistem batch
5. Sangat jarang berinteraksi dengan user.
6. Sangat buruk untuk sistem interaktif atau realtime karena cenderung memberikanresponse time yang buruk.
First-Come, First-Served (FCFS)
• FCFS merupakan algoritma yang paling, dengan skema proses yang
meminta CPU mendapat prioritas.Implementasi dari FCFS mudah diatasi dengan
queue.
First-Come, First-Served (FCFS)
Contoh:
• Ada tiga buah proses yang datang secara bersamaanyaitu pada 0 ms, P1 memiliki burst time 24 ms, P2memiliki burst time 3 ms, dan P3 memiliki burst time 3ms. Hitunglah waiting time rata-rata dan turnaroundtime (burst time + waiting time) dari ketiga prosestersebut dengan menggunakan algoritma FCFS.Waiting time untuk P1 adalah 0 ms (P1 tidak perlumenunggu), sedangkan untuk P2 adalah sebesar 24 ms(menunggu P1 selesai), dan untuk P3 sebesar 27 ms(menunggu P1 dan P2 selesai).
First-Come, First-Served (FCFS)
Gambar. Kedatangan Proses
First-Come, First-Served (FCFS)
Misal urutan kedatangan adalah P1, P2, P3 Gantt Chart untuk ini adalah:
Waiting time rata-ratanya adalah sebesar(0+24+27)/3 =17ms. Turnaround time untuk P1 sebesar 24 ms, sedangkanuntuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2hingga selesai dieksekusi), untuk P3 sebesar 30 ms.Turnaround time rata-rata untuk ketiga proses tersebutadalah (24+27+30)/3 = 27 ms.
First-Come, First-Served (FCFS)
• Rumus Menghitung Waitung Time dan Average Waiting Time
SJF (Shortest Job First)
Pada penjadwalan SJF, proses yang memiliki CPUburst paling kecil dilayani terlebih dahulu.Terdapat dua skema:1. Non preemptive,
bila CPU diberikan pada proses, maka tidak bisaditunda sampai CPU burst selesai.
2. Preemptive, jika proses baru datang dengan panjang CPU burstlebih pendek dari sisa waktu proses yang saat itusedang dieksekusi, proses ini ditunda dan digantidengan proses baru. Skema ini disebut denganShortest-Remaining-Time-First (SRTF)
SJF Non Preemptive
• SJF Non Preemptive adalah algoritmapenjadwalan yang menjalankan prosesberdasarkan proses dengan burst timeterkecil.
SJF Non Preemptive
• Perhatikan tabel berikut ini
Proses Burst Time
P1 7
P2 4
P3 1
P4 4
Berdasarkan tabel berikut :1. Gambarkan gant chart SJF
Non Preemptive2. Buat tabel waktu tunggu3. Hitung rata – rata waktu
tunggu (Average Waiting Time)
SJF Non Preemptive
a. Gant Chart
b. Tabel Waktu TungguProses Waktu Tunggu
P1 9
P2 1
P3 0
P4 5
c. Rata-rata Waktu Tunggu
AWT = (9 + 1 + 0 + 5) / 4AWT = 15 / 4AWT = 3, 75 ms
Shortest Job First Preemptive
• SJF algoritma mungkin adalah yang palingoptimal, karena ia memberikan rata-rataminimum waiting untuk kumpulan dari prosesyang mengantri.
SJF Preemptive
• SJF algoritma adalah algoritma penjadwalanyang mengizinkan proses yang lebih pendekmenghentikan proses yang sedang jalan.
SJF Preemptive
• Perhatikan tabel berikut ini
Proses Arrival Time Burst Time
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Berdasarkan tabel berikut :1. Gambarkan gant chart
SJF Preemptive2. Buat tabel waktu tunggu3. Hitung rata – rata waktu
tunggu (Average Waiting Time)
SJF Preemptive
a. Gant Chart
b. Tabel Waktu TungguProses Waktu Tunggu
P1 11 – 2 = 9
P2 5 – 4 = 1
P3 4 – 4 = 0
P4 7 – 5 = 2
c. Rata-rata Waktu Tunggu
AWT = (9 + 1 + 0 + 2) / 4AWT = 12 / 4AWT = 3 ms
Tugas1Perhatikan Tabel Berikut Ini
Proses Arrival Time (ms) Burst Time (ms)
P1 0 8
P2 3 4
P3 4 5
P4 5 6
P5 6 4
Berdasarkan tabel tersebut, maka anda diminta untukmembuat Gantt Chart, Tabel Waktu Tunggu, danmenghitung Avarage Waiting Time (AWT) untukalgoritma penjadwalan :1. FCFS2. SJF3. SJF Preemptive
Tugas2
Perhatikan Tabel Berikut :
Proses Burst Time (ms)
P1 3
P2 4
P3 2
P4 3
P5 5
P6 4
Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan FCFS :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT
Tugas3
Perhatikan Tabel Berikut
Proses Burst Time (ms)
P1 4
P2 2
P3 3
P4 4
P5 2
P6 5
Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan SJF Non Preemptive :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT
Tugas 4
Perhatikan Tabel Berikut
Proses Arrival Time (ms)
Burst Time (ms)
P1 0 6
P2 1 4
P3 3 2
P4 4 3
P5 5 4
Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan SJF Preemptive :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT