Jumat, 20 Januari 2012

Program Penjadwalan Proses/Scheduling FIFO menggunakan C++


Penjadwalan FIFO ini merupakan penjadwalan tidak berprioritas, dan penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu:

Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke system. Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantic/arti antrian, yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.

FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya: Keputusan berdasarkan prioritas proses, sedangkan untuk proses-proses berprioritas sama diputuskan berdasarkan FIFO.

Kelebihan FIFO

Dalam kriteria efisiensi, penjadwalan FIFO sangat efisien dalam penggunaan proses.
Algoritmanya cukup sederhana

Kelemahan FIFO

*Dalam kriteria adil, penjadwalan FIFO adil dalam arti resmi (dalam semantic/arti antrian) yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.
*Penjadwalan sangat tidak memuaskan karena proses menunggu lama, aktu tanggapnya sangat jelek. *Tidak cocok untuk sistem interaktif.
*Turn around time tidak bagus.
*Throughtput tidak bagus.
*Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
NB:Turn Arround time adalah waktu yang dihabiskan dari saat proses atau job mulai masuk ke system sampai proses itu diselesaikan system. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di system, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan proses/job) dan waktu menunggu dari proses itu, yaitu:
Turn Arround time = waktu eksekusi + waktu menunggu
Sasaran penjadwalan adalah menimbulkan turn arround time
oke deh setelah panjang lebar langsung aja ane kasih source code programnya dengan C++

listing programnya :
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
main()
{
int k=0,ptime[25],n,s=0,i,sum=0;
char name[25][25];
float avg;
printf("n FIFO SCHEDULING PROGRAM n");
printf("n Nama  : Alex Junatan Adiputra n");
printf("n NBI   : 461003167 n");
printf("n MK    : Sistem Operasi n");
printf("n Dosen : Dr.Ir Hotman Pandjaitan MT n");
printf("n n");
printf ("MASUKKAN JUMLAH PROSES: t");
scanf ("%d",&n);
for(i=0;i<n;i++)
{
printf("MASUKKAN NAMA PROSES: t");
printf("%d t",i+1);
scanf("%s",name[i]);
}
printf("n n");
for(i=0;i<n;i++)
{
printf("MASUKKAN LAMA PROSES: t");
printf("%s t",name[i]);
scanf("%d",&ptime[i]);
}
printf("n n");
printf("------------------------------------------");
printf("n| process – name  |   process – time     |n");
printf("------------------------------------------");
printf("n");
for(i=0;i<n;i++)
{
printf("| t %s t  | t t %d t | n",name[i],ptime[i]);
}
printf("------------------------------------------");
printf("n n    ....::: FIFO SCHEDULING :::.... n n");
for(i=0;i<n;i++)
{
printf("t process %s from %d to %d n", name[i],k,(k+ptime[i]));
k+=ptime[i];
}
for(i=0;i<(n-1);i++)
{
s+=ptime[i];
sum+=s;
}
avg=(float)sum/n;
printf("nn Waktu Tunggu Rata-rata: t");
printf("%2fmsec",avg);
sum=avg=s=0;
for(i=0;i<n;i++)
{
s+=ptime[i];
sum+=s;
}
avg=(float)sum/n;
printf("n turn around time is t");
printf("%2fmsec",avg);
getch();
}

Semoga Bermanfaat ...

Artikel Yang Berhubungan:

1 komentar:

  1. okeee gan thanks yaaa buat tugas ane :D

    jngan lupa kunjungannya kesini : www.ryuseipengusahamuda.com/2015/08/sshmurah.html

    BalasHapus

 
" Blog Pelajar yang selalu ingin belajar "