Berikut tujuan utama dari penjadwalan proses:
a. Keadilan
b. Prioritas
c. Efisiensi
Sedangkan kriteria dari penjadwalan tiu sendiri antara lain:
a. CPU Utilization
Barkaitan dengan penggunaan resource/sumber daya pada CPU.
b. Throughput
Banyaknya proses yang dapat dikerjakan pada satu waktu.
c. Response Time
Waktu yang dibutuhkan oleh suatu proses dari dimulainya proses tersebut sampai proses tersebut dilayani.
d. Waiting Time
Waktu yang diperlukan oleh suatu proses untuk menunggu di antrian ready.
e. Turn Arround Time
Lama waktu yang dipakai oleh suatu proses dari mulai masuk samapi proses tersebut diselesaikan oleh sistem.
Dalam penjadwalan ini juga digunakan suatu teknik/strategi, dan strategi yang digunakan pada penjadwalan adalah sebagai berikut:
· Preemptive
Resource dari suatu proses dapat di ambil oleh proses lain tanpa menimbulkan gangguna terhadap proses yang di ambil resourcenya.
· Nonpreemptive
Merupakan kebalikan dari penjadwalan preemptive, yaitu resource dari suatu proses tidak bisa di ambil alih oleh proses lain sampai proses tersebut selesai dikerjakan.
Status dari suatu proses:
1. New : awal dari pembuatan suatu proses
2. Ready : proses dalam keadaan siap untuk di eksekusi
3. Waiting : pada saat proses menunggu proses lain yang sedang berjalan/dieksekusi.
4. Running : pada saat proses sedang dieksekusi
5. Terminated : proses telah selesai dieksekusi
Beberapa algoritma penjadwalan proses:
a. Round Robin (RR)
Round Robin merupakan salah satu algoritma penjadwalan yang menggunakan teknik preemptive. Resource dari suatu proses bukan di ambil oleh proses lain melainkan oleh penjadwal berdasarkan jatah waktu yang diberikan (waktu kuantum). Penjadwalan ini mengasumsikan bahwa semua proses memiliki kepentingan yang sama sehingga pada penjadwalan ini tidak ada prioritas tertentu. Jika waktu kuantum yang diberikan penjadwal pada suatu proses telah habis, dan proses tersebut belum selesai maka penjadwal akan mempreempt proses tersebut dan akan memeberikannya pada proses lain. Proses yang dipreempt tadi berada pada status ready.
Penilaian dari algoritma penjadwalan Round Robin:
o Adil (yaitu bila dipandang dari penyamaan prioritas untuk semua proses)
o Efisien untuk system interaktif
o Response time (baik untuk system interaktif, tapi kurang untuk sitem real-time.
o Turn around time dan throughputnya juga baik.
b. FIFO (First In First Out)
FIFO menggunakan teknik penjadwalan nonpreemptive. Pada algoritma FIFO ini proses yang pertama datang, maka proses tersebutlah yang dikerjakan. Pada saat suatu proses diberi jatah waktu, maka proses tersebut akan dijalankan sampai proses tersebut selesai. Algoritma penjadwalan FIFO jarang digunakan secara mandiri. Dan pada Sistem Operasi Linux Mandriva, FIFO digunakan bersamaan dengan algoritma penjadwalan yang lain yaitu Round Robin.
Penilaian dari algoritma penjadwalan FIFO:
o Adil berdasarkan kedatangan dari proses, namun untuk proses yang membutuhkan waktu yang lama, akan membuat proses lain menunggu lama.
o Efisien
o Reasponse time sangat jelek baik untuk system interaktif maupun system real-time.
o Turn around time dan throughputnya juga jelek.
Terletak di direktori :
/usr/include/sched.h

Ketika dibuka file sched.h, maka akan terlihat source code yang menerangkan bahwa penjadwalan yang dipakai adalah Round Robin yaitu pada bagian potongan source code berikut :
/* Get the SCHED_RR interval for the named process. */
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
Potongan sourcecode tersebut merupakan fungsi pengaturan waktu kuantum dari penjadwalan Round Robin. Sedangkan konstanta dari penjadwalan Round Robin didefinisikan pada file sched.h, yang terdapat pada direktori :
/usr/include/bits/sched.h
Berikut adalah potongan source code-nya:
/* Scheduling algorithms. */
#define SCHED_OTHER 0
#define SCHED_FIFO 1
#define SCHED_RR 2
#ifdef __USE_GNU
# define SCHED_BATCH 3
#endif
Potongan sourcecode file sched.h pada direktori tersebut adalah sebagai berikut:
* Scheduling policies
*/
#define SCHED_NORMAL 0
#define SCHED_FIFO 1
#define SCHED_RR 2
#define SCHED_BATCH 3
/* SCHED_ISO: reserved but not implemented yet */
#define SCHED_IDLE 5
Dari kode diatas juga terlihat beberapa kebijakan penjadwalan proses di Linux, yaitu:
a. SCHED_OTHER
b. SCHED_FIFO
c. SCHED_RR
File sched.h juga terdapat pada direktori
/usr/include/bits/sched.h
Kesimpulan
Mandriva dan beberapap distro Linux lainnya menggunakan penjadwakan proses FIFO dan Round Robin yang diatur berdasarkan prioritas waktu nyata (real-time). Salah satu perbedaan antara keduanya yaitu pada FIFO proses akan dijalankan terus -menerus sampai proses tersebut keluar atau diblokir(nonpreemptive). Sedangkan pada Round Robin, prosesnya akan dipreemptivekan dan akan dipindahkan ke akhir antrian proses/ready (preemptive).




0 komentar:
Posting Komentar