Penjadwalan
CPU menyangkut penentuan proses-proses yang ada dalam ready queue yang akan
dialokasikan kepada CPU. Terdapat beberapa algoritma penjadwalan CPU seperti di
jadwalkan pada sub bab dibawah ini.
First Come First Server (FCFS)
Pertama
datang, pertama dilayani (First In, First Out atau FIFO) tidak peduli apakah
burst time nya panjang atau pendek, sebuah proses yang sedang dikerjakan
diselesaikan terlebih dulu barulah proses berikutnya dilayani.
Penjadwalan
FCFS merupakan penjadwalan:
·
Penjadwalan
non-prevebtive (run-to-completion)
·
Penjadwalan
tidak berprioritas
Ketentuan
dari penjadwalan FCFS adalah:
·
Proses-proses
diberi jatah waktu pemroses, diurut dengan waktu kedatangannya.
·
Begitu
proses mendapat jatah waktu pemproses, proses dijalankan sampai proses tersebut
selesai, walaupun ada proses lain yang datang, proses tersebut berada dalam
antrian sistem atau disebut dengan ready queue.
Pada
dasarnya algoritma penjadwalan ini cukup adil dalam hal bahasa, karena proses
yang datang lebih dulu dikerjakan terlebih dahulu. Dari segi konsep sistem
operasi, penjadwalan model ini tidak adil karena proses-proses yang membutuhkan
waktu yang lama membuat proses-proses yang memiliki waktu proses yang lebih
pendek menunggu sampai proses yang lama tersebut selesai, sedangkan
proses-proses yang tidak penting membuat proses penting menunggu.
Penjadwalan
FCFS cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi
dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif
karena tidak memberi waktu tanggap yang bagus, begitu juga dengan waktu sistem
nyata.
Misalnya
proses-proses yang akan dikerjakan oleh CPU adalah sebagai berikut:
Pada
saat posisi P1 masuk pada waktu 0, maka P1 dijalankan sebanyak 12, dan P2 masuk
pada saat 2, P3 pada saat 3, P4 pada saat 5, dan P5 pada waktu 9. Pada posisi
12 P1 selesai dikerjakan, dan P2 akan dieksekusi karena P2 lebih dulu berasa di
dalam Ready Queue (RQ) karena pada contoh diatas menggunakan algoritma FCFS
(First Come Firs Server) dan begitulah seterusnya sampai semua proses selesai
dikerjakan. Setelah semua proses selesai dikerjakan maka dihitung waktu tunggu
setiap proses, maka akan ditemukan jumlah waktu tunggu rata-rata dari setiap
proses, seperti contoh di bawah ini:
Jadi
waktu tunggu setiap proses adalah:
Rata-rata
waktu tunggu untuk setiap proses adalah: Avg 65/5 = 13 satuan waktu.
Jika
urutan proses pada contoh diatas dibalikkan misal : P5, P4, P3, P2 , P1 dengan
waktu menganggur CPU (idle time) antar awaktu 1 dan 2 sehingga panjangnya waktu
yang dibutuhkan untuk menyelesaikan lima proses tersebut menjadi 29 atau
bertambah satu dari waktu yang dibutuhkan sebelumnya.
Algoritma
FCFS termasuk non-preemptive, karena sekali CPU dialokasikan pada suatu proses,
maka proses tersebut tetap akan memakai CPU sampai proses tersebut
melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O.
Penggunaan
algoritma FCFS yang lebih kompleks dengan menambahkan aktivitas input dan
output sebagai berikut:
0 comments:
Post a Comment