Dokumen tersebut membahas tentang pengertian dan konsep dasar penjadwalan proses pada sistem operasi, termasuk definisi penjadwalan proses, komponen penjadwalan seperti penjadwal dan dispatcher, kriteria penjadwalan seperti keadilan, efisiensi, dan waktu tanggap, serta algoritma penjadwalan seperti FCFS, SJF, dan Round Robin beserta contoh penerapannya.
2. Penjadwalan CPU
• Konsep Dasar dan Definisi Penjadwalan CPU
• Kriteria Penjadualan
• Algoritma Penjadualan
3. Konsep Dasar Penjadwalan
• SO modern umumnya merupakan sistem
multitasking.
• Tujuan Utama: agar beberapa proses dapat
berjalan secara bersamaan, hal ini untuk
memaksimalkan kinerja CPU.
• Pemanfaatan CPU maksimum diperoleh
dengan multiprogramming
• CPU-I/O Burst Cycle-Pelaksanaan proses terdiri
dari suatu siklus tunggu I/O dan eksekusi CPU
4. Konsep Dasar Penjadwalan
Proses dapat juga dibagi atas 2 macam:
a. I/O-bound process – menghabiskan waktu lebih
banyak untuk mengerjakan I/O daripada di CPU
b. CPU-bound process – jarang melakukan
permintaan I/O, menggunakan lebih banyak
waktunya di CPU
Sistem dengan kinerja yang terbaik akan memiliki
kombinasi proses CPU bound dan I/O bound yang
seimbang.
5. Definisi Penjadwalan Proses
Definisi
• Kumpulan kebijaksanaan dan mekanisme
operasi yang
waktu eksekusi proses-proses
mengatur urutan dan
yang
sistem
jangka
aktif.
Tugas
• Memilih
berapa
proses, menentukan kapan
lama proses tersebut
serta
boleh
menggunakan processor
6. Komponen Penjadwalan Proses
Penjadwal ( Scheduler )
Suatu program dengan algoritma tertentu yang
menyeleksi proses yang akan dieksekusi.
Jenis scheduler :
a. Penjadwal jangka pendek (short-term
scheduler).
b. Penjadwalan jangka menengah ( medium-term
scheduler )
c. Dispatcher
7. Komponen Penjadwalan Proses
Jenis scheduler :
a. Penjadwal jangka pendek (short-term
scheduler) menyeleksi proses yang berada
diantrian ready.
8. 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 image
process ke memori sekunder seperti disk.
Umumnya yang dikorbankan adalah proses yang berstatus
blocked atau menunggu event.
Jika event sudah selesai, image process harus dikembalikan
ke memori utama.
Medium-term scheduler bertugas menyeleksi proses yang
akan diswapping (swap-out) dan yang akan dikembalikan ke
memori utama (swap-in).
9. Komponen Penjadwalan Proses
Jenis scheduler :
c. Dispatcher
suatu program SO yang berfungsi melakukan
pengalihan eksekusi dari proses yang running ke
proses yang dipilih oleh “short-term scheduler”.
Bertugas memindahkan isi register prosesor ke
PCB proses yang dihentikan.
Dispatch latency – terdapat waktu yang terbuang
(CPU idle) dimana dispatcher menghentikan satu
proses dan menjalankan proses lain
10. Kriteria Penjadwalan Proses
Dalam melakukan penjadwalan proses, SO
mempertimbangkan sejumlah faktor:
1. Keadilan (Fairness)
2. Efisiensi (Processor Utilization)
3. Waktu tanggapan (Response time)
4. Waiting Time
5. Turn Around Time
11. Kriteria Penjadwalan Proses
1. Keadilan (Fairness)
a. Memastikan bahwa setiap proses mendapat
giliran yang adil, tetapi tidak selalu berarti jatah
waktu yang sama.
b. Perlu dipastikan tidak terjadi proses yang tidak
terlayani dalam jangka waktu yang lama.
12. Kriteria Penjadwalan Proses
2. Efisiensi (Processor Utilization)
Penggunaan waktu CPU (CPU Time) seoptimal
mungkin processor terpakai terus menerus selama
masih ada antrian ready.
13. Kriteria Penjadwalan Proses
3. Waktu tanggapan (Response time)
– Mempercepat (secepat dan sependek mungkin)
waktu tanggap dengan pemakai secara interaktif.
– Response time adalah waktu antara pengguna
memberikan input dengan SO memberikan output
atau umpan balik ke pengguna.
14. Kriteria Penjadwalan Proses
4. Waktu Tunggu (Waiting Time)
Harus seminim mungkin. Merupakan durasi waktu
yang dihabiskan suatu proses dalam antrian ready
selama siklus hidupnya
15. Kriteria Penjadwalan Proses
5. Turn Around Time
Turn around time harus seminim mungkin.
Merupakan durasi waktu dari suatu proses atau
job masuk ke dalam sistem sampai dengan selesai.
Turn arround time = waktu eksekusi + waktu
menunggu
16. Kriteria Penjadwalan Proses
6. Throughput
Throughput rata-rata proses ( jumlah kerja ) yang
dapat diselesaikan per satuan waktu. Nilai
throughput harus tinggi, karena lebih tinggi angka
troughput, maka lebih banyak kerja yang dapat
dilakukan sistem.
17. Strategi Dasar Penjadwalan
1. Non-preemptive (Run to completion)
a. Algoritma Penjadualan dimana proses-proses
yang sedang running tidak bisa dihentikan
sementara, dan harus running terus sampai
selesai.
b. Strategi ini bisa membahayakan sistem atau
proses lain, artinya bila terjadi crash, maka SO
tidak berfungsi.
c. Umumnya digunakan pada sistem sekuensial
18. Strategi Dasar Penjadwalan
2. Preemptive
penjadualan
a. Algoritma
beberapa proses yang
yang memungkinkan
sedang running, bisa
dihentikan sementara.
b. Algoritma ini cocok untuk SO yang menerapkan
multitasking, real time, dan time sharing.
20. First-Come, First-Served (FCFS)
1. Setiap proses diberi jadwal eksekusi berdasarkan
urutan waktu kedatangan.
2. FCFS jarang digunakan secara tersendiri tetapi
dikombinasikan dengan algoritma lain karena:
a. Timbul masalah“waiting time”terlalu lama jika
didahului 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.
21. 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 real
time karena cenderung memberikan
response time yang buruk.
22. First-Come, First-Served (FCFS)
• FCFS merupakan algoritma yang
proses
paling
yang
meminta
, dengan skema
CPU mendapat prioritas.
Implementasi dari FCFS mudah diatasi dengan
queue.
23. First-Come, First-Served (FCFS)
Contoh:
• Ada tiga buah proses yang datang secara bersamaan
yaitu pada 0 ms, P1 memiliki burst time 24 ms, P2
memiliki burst time 3 ms, dan P3 memiliki burst time 3
ms. Hitunglah waiting time rata-rata dan turnaround
time (burst time + waiting time) dari ketiga proses
tersebut dengan menggunakan algoritma FCFS.
Waiting time untuk P1 adalah 0 ms (P1 tidak perlu
menunggu), sedangkan untuk P2 adalah sebesar 24 ms
(menunggu P1 selesai), dan untuk P3 sebesar 27 ms
(menunggu P1 dan P2 selesai).
25. 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, sedangkan
untuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2
hingga selesai dieksekusi), untuk 30 ms.
P3
ketiga
sebesar
proses tersebut
Turnaround time rata-rata untuk
adalah (24+27+30)/3 = 27 ms.
27. SJF (Shortest Job First)
Pada penjadwalan SJF, proses yang memiliki CPU
burst paling kecil dilayani terlebih dahulu.
Terdapat dua skema:
1. Non preemptive,
bila CPU diberikan pada proses, maka tidak bisa
ditunda sampai CPU burst selesai.
2. Preemptive,
jika proses baru datang dengan panjang CPU burst
lebih pendek dari sisa waktu proses yang saat itu
sedang dieksekusi, proses ini ditunda dan diganti
dengan proses baru. Skema ini disebut dengan
Shortest-Remaining-Time-First (SRTF)
28. SJF Non Preemptive
• SJF Non Preemptive adalah algoritma
penjadwalan yang menjalankan proses
berdasarkan proses dengan burst time
terkecil.
29. 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 Preemptive
2. Buat tabel waktu tunggu
3. Hitung rata – rata waktu
tunggu (Average Waiting
Time)
30. SJF Non Preemptive
a. Gant Chart
b. Tabel Waktu Tunggu
Proses Waktu Tunggu
P1 9
P2 1
P3 0
P4 5
c. Rata-rata Waktu Tunggu
AWT = (9 + 1 + 0 + 5) / 4
AWT = 15 / 4
AWT = 3, 75 ms
31. Shortest Job First Preemptive
• SJF algoritma mungkin adalah yang paling
optimal, karena ia memberikan rata-rata
minimum waiting untuk kumpulan dari proses
yang mengantri.
32. SJF Preemptive
• SJF algoritma adalah algoritma penjadwalan
yang mengizinkan proses yang lebih pendek
menghentikan proses yang sedang jalan.
33. 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 Preemptive
2. Buat tabel waktu tunggu
3. Hitung rata – rata waktu
tunggu (Average Waiting
Time)
34. SJF Preemptive
a. Gant Chart
b. Tabel Waktu Tunggu
Proses 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) / 4
AWT = 12 / 4
AWT = 3 ms
35. Tugas 1
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 Chart
b. Tabel Waktu Tunggu
c. Hitung AWT
36. Tugas 2
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 Chart
b. Tabel Waktu Tunggu
c. Hitung AWT