INFOCPNS Algoritma Penjadwalan FCFS di OS - Rista Bola

Algoritma Penjadwalan FCFS di OS

Algoritme penjadwalan first come first serve (FCFS) hanya menjadwalkan pekerjaan sesuai dengan waktu kedatangannya. Pekerjaan yang datang lebih dulu dalam ready queue akan mendapatkan CPU terlebih dahulu. Semakin sedikit waktu kedatangan pekerjaan, semakin cepat pekerjaan mendapatkan CPU. Penjadwalan FCFS dapat menyebabkan masalah kelaparan jika waktu burst dari proses pertama adalah yang terpanjang di antara semua pekerjaan.

Keuntungan FCFS

  • Sederhana
  • Mudah
  • Pertama datang, Pertama dilayani

Kekurangan FCFS

Metode penjadwalan bersifat non preemptive, proses akan berjalan sampai selesai.

Karena sifat algoritme non-preemptive, masalah kelaparan dapat terjadi.

Meskipun mudah diimplementasikan, tetapi kinerjanya buruk karena waktu tunggu rata-rata lebih tinggi dibandingkan dengan algoritma penjadwalan lainnya.

Contoh

Mari kita ambil contoh algoritma penjadwalan FCFS. Pada schedule following terdapat 5 proses dengan process ID P0, P1, P2, P3 dan P4. P0 tiba pada waktu 0, P1 pada waktu 1, P2 pada waktu 2, P3 tiba pada waktu 3 dan Proses P4 tiba pada waktu 4 dalam ready queue. Proses dan waktu Kedatangan dan Burst masing-masing diberikan dalam tabel berikut.

Waktu penyelesaian dan waktu tunggu dihitung dengan menggunakan rumus berikut.

Waktu Berbalik = Waktu Penyelesaian - Waktu Kedatangan

Waktu Tunggu = Waktu penyelesaian - Burst Time

Waktu tunggu rata-rata ditentukan dengan menjumlahkan waktu tunggu masing-masing proses dan membagi jumlah tersebut dengan jumlah total proses.

 

Efek Konvoi di FCFS

FCFS mungkin mengalami efek konvoi jika waktu meledak dari pekerjaan pertama adalah yang tertinggi di antara semuanya. Seperti dalam kehidupan nyata, jika sebuah konvoi sedang melewati jalan maka orang lain mungkin akan terhalang hingga konvoi tersebut benar-benar lewat. Ini dapat disimulasikan dalam Sistem Operasi juga.

Jika CPU mendapatkan proses dengan waktu burst yang lebih tinggi di ujung depan antrian siap, maka proses dengan waktu burst yang lebih rendah dapat diblokir yang berarti mereka tidak akan pernah mendapatkan CPU jika pekerjaan dalam eksekusi memiliki waktu burst yang sangat tinggi. Ini disebut efek konvoi atau kelaparan.

Contoh
Dalam Contoh, Kami memiliki 3 proses yang dinamai P1, P2 dan P3. Burt Time proses P1 paling tinggi.

Waktu penyelesaian dan waktu tunggu pada tabel berikut, dihitung dengan rumus,

Waktu Berbalik = Waktu Penyelesaian - Waktu Kedatangan
Waktu Tunggu = Waktu Berputar - Burst Time

Dalam skenario Pertama, Proses P1 tiba di urutan pertama meskipun; waktu ledakan proses adalah yang tertinggi di antara semuanya. Karena Algoritma Penjadwalan yang kita ikuti adalah FCFS maka CPU akan mengeksekusi Proses P1 terlebih dahulu.

Pada jadwal ini, rata-rata waktu tunggu sistem akan sangat tinggi. Itu karena efek konvoi. Proses lainnya P2, P3 harus menunggu giliran mereka selama 40 unit waktu meskipun waktu ledakannya sangat rendah. Jadwal ini menderita kelaparan. 

Dalam skenario Kedua, Jika Proses P1 akan tiba di antrian terakhir dan proses lainnya P2 dan P3 lebih awal maka masalah kelaparan tidak akan ada.

Contoh berikut menunjukkan penyimpangan dalam waktu tunggu dari kedua skenario. Walaupun panjang jadwalnya sama yaitu 44 unit namun waktu tunggunya akan lebih sedikit pada jadwal ini.


Jangan lupa untuk terus berkunjung dan mengikuti update terbarunya dari blog arahinfotech.com, Oh iya lupa, jika Sahabat memiliki tips-tips yang lebih bagus dari tips di atas, boleh dituliskan dimari caranya kelik menu bar lalu kelik kerja sama scrool kirim artikel. Selain itu juga, mohon dishare ketemen-temen atau keluarga jika memang artikel ini sangatlah bermanfaat untuk Sahabat.