Friday, June 15, 2012

Algoritma Penjadwalan - First Come First Server


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.
Contoh dari penjadwalan FCFS adalah:
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

 
Autumn Falling Leaves