Penjadwalan Proses

Kali ini kita akan sedikit membahas tentang algoritma penjadwalan proses FCFC (Firs Come First Served) dan SJF(Shortest Job First)

Apa sih penjadwalan Proses itu?

Penjadwalan Proses merupakan suatu dasar sistem multiprogramming. Digunakan untuk menentukan lama proses berjalan dan yang mana yang harus dijlani terlebih dahulu.

FCFS (Firts Come, First Served) / FIFO (First In First Out)

Penjadwalan ini merupakan penjadwalan jenis non preemptive yaitu setiap proses yang sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain, dan proses yang tiba terlebih dahulu itu yang akan dikerjakan lebih dahulu. Apabila waktu tibanya bersamaan maka pelayanan mereka akan dilakukan dengan urutan mereka dalam antrian.

Kekurangan dari algoritma ini yaitu waiting tame rata-ratanya cukup lama, Terjadinya proses-proses menunggu lama untuk menunggu 1 proses besar yang sedang dieksekusi oleh CPU.

contoh:

rumus

TA = Waktu Tunggu + Lama EksekusiRata-rata

TA = ∑TA / ∑Job

Waktu Tunggu = Mulai Eksekusi – Waktu Tiba

Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Waktu Tunggu Selesai Eksekusi TA
A 0 5 0 0 5 5
B 0 2 5 5 7 7
C 0 6 7 7 13 13
D 0 8 13 13 21 21
E 0 3 21 21 24 24
∑TA = 70Rata-rata TA = 14

 

SJF (Shortest Job First)

SJF (Shortest Job First) suatu proses penjadwalan yang terdapat di ready queue dan akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time  yang tidak lama untuk setiap proses. Karena hal tersebut, maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Contohnya :

Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi Waktu Tunggu TA
D 0 1 0 1 0 1
E 0 3 1 4 1 4
B 0 5 4 9 4 9
C 0 7 9 16 9 16
A 0 10 16 26 16 26
∑TA = 56 rata-rata TA=11,2