Process Scheduling
Process Scheduling
Behavior dari Process :
a. Process Bound
b. I/O Bound
CPU Scheduler : memilih diantara proses-prosed di memori yang siap dieksekusi dan
mengalokasikan CPU ke salah satu dari proses tersebut
Dispatcher : memberikan kontrol CPU ke proses yang terpilih
Dalam melakukan penjadwalan terdapat kriteria-kriteria :
- CPU Utilization : membuat CPU sesibuk mungkin
- Throughput : jumlah proses yang selesai tiap satuan waktu
- Turnaround time : jumlah waktu untuk mengeksekusi proses tertentu
- Waiting time : jumlah waktu sebuah proses menunggu dalam antrian
- Response time : jumlah waktu yang dibutuhkan dari ketika sebuah request diterima hingga
pertama kali hasil diproduksi
Dalam penjadwalan juga diperlukan optimisasi dengan kriteria :
- Penggunaan CPU maksimal
- Throughput maksimal
- Turnaround time minimal
- Waktu tunggu minimal
- Waktu response minimal
Tujuan dari scheduling dari berbagai sistem :
a. Semua system : fairness, policy enforcement, dan balance
b. Batch system : throughput(hasil per satuan waktu), turnaround time, penggunaan CPU
c. Interactive system : waktu respon dan proporsionalitas
d. Real-time system : memenuhi permintaan dan prediktabilitas
Algoritma Batch Scheduling
a. FCFS (First-Come First-Serve)
Proses akan diproses di CPU dengan urutan waktu proses tersebut memberikan request.
Keuntungan : mudah dipahami dan mudah untuk diprogram
Kekuranngan : job yang pendek butuh waktu terlalu lama jika didepannya terdapat job yang
panjang
Gant Chart:
b. SJF (Shortest Job First)
Menggunakan panjang dari proses untuk melakukan penjadwalan proses dengan waktu yang
paling cepat.
SJF ada 2 skema :
- nonpreemptive : menjalankan proses hingga selesai dan tidak bisa diinterupsi proses lain
- preemptive : menjalankan proses hingga selesai namun ketika panjang dari proses yang
sedang berjalan lebih banyak daripada proses yang menginterupsi maka
proses akan dipotong dan dilanjutkan nanti.
Contoh :
a. nonpreemptive
Process Arrival Time Burst Time
a. Process Bound
b. I/O Bound
CPU Scheduler : memilih diantara proses-prosed di memori yang siap dieksekusi dan
mengalokasikan CPU ke salah satu dari proses tersebut
Dispatcher : memberikan kontrol CPU ke proses yang terpilih
Dalam melakukan penjadwalan terdapat kriteria-kriteria :
- CPU Utilization : membuat CPU sesibuk mungkin
- Throughput : jumlah proses yang selesai tiap satuan waktu
- Turnaround time : jumlah waktu untuk mengeksekusi proses tertentu
- Waiting time : jumlah waktu sebuah proses menunggu dalam antrian
- Response time : jumlah waktu yang dibutuhkan dari ketika sebuah request diterima hingga
pertama kali hasil diproduksi
Dalam penjadwalan juga diperlukan optimisasi dengan kriteria :
- Penggunaan CPU maksimal
- Throughput maksimal
- Turnaround time minimal
- Waktu tunggu minimal
- Waktu response minimal
Tujuan dari scheduling dari berbagai sistem :
a. Semua system : fairness, policy enforcement, dan balance
b. Batch system : throughput(hasil per satuan waktu), turnaround time, penggunaan CPU
c. Interactive system : waktu respon dan proporsionalitas
d. Real-time system : memenuhi permintaan dan prediktabilitas
Algoritma Batch Scheduling
a. FCFS (First-Come First-Serve)
Proses akan diproses di CPU dengan urutan waktu proses tersebut memberikan request.
Keuntungan : mudah dipahami dan mudah untuk diprogram
Kekuranngan : job yang pendek butuh waktu terlalu lama jika didepannya terdapat job yang
panjang
Contoh :
Process Burst Time
P1 24
P2 3
P3 3
Urutan datang : P1 , P2 , P3 Gant Chart:
Waiting
time for P1 =
0; P2 =
24; P3 = 27
Average waiting time : P1 + P2 + P3
: (0 + 24 + 27)/3 = 17
b. SJF (Shortest Job First)
Menggunakan panjang dari proses untuk melakukan penjadwalan proses dengan waktu yang
paling cepat.
SJF ada 2 skema :
- nonpreemptive : menjalankan proses hingga selesai dan tidak bisa diinterupsi proses lain
- preemptive : menjalankan proses hingga selesai namun ketika panjang dari proses yang
sedang berjalan lebih banyak daripada proses yang menginterupsi maka
proses akan dipotong dan dilanjutkan nanti.
Contoh :
a. nonpreemptive
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
Gant Chart :
Average waiting time = P1 + P2 + P3 + P4 = (0 + 6 + 3 + 7)/4
= 4
b. preemptive
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
Gant Chart :
Average waiting time = P1 + P2 + P3 + P4 = (9 + 1 + 0 +2)/4 =
3
Selain dua algoritma diatas, terdapat algoritma lain juga seperti round-robin scheduling dan
Langganan:
Posting Komentar
(
Atom
)
Tidak ada komentar :
Posting Komentar