Penjadwalan
Non Preemptive ialah salah satu
jenis penjadwalan dimana sistem operasi tidak pernah melakukan
context switch dari proses yang
sedang berjalan ke proses yang lain. Dengan kata lain, proses
yang sedang berjalan tidak bisa di-
interupt.
Penjadwalan
Non Preemptive terjadi ketika
proses hanya:
- Berjalan dari running state sampai waiting state.
- Dihentikan.
Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode
yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk meng interupt pada metode penjadwalan Preemptive).
Program C++ Untuk Non Preemptive
#include<iostream>
#include<windows.h>
using namespace std;
int cont, ctr;
class FCFS{
public:
void input();
void gantt();
protected:
float wt, bt, arr, bt2;
float awt;
};
int main(){
FCFS IT2B;
cout<<"Input number of jobs.\n";
cin>>ctr;
if(ctr>=3&&ctr<=6){
system("cls");
IT2B.input();
}else{
cout<<"INVALID ENTRY!!\n";
cout<<"Min is 3\nMax is 6\n Press any key to re-input.\n";
cin>>cont;
system("cls");
main();
}
return 0;
}
void FCFS::input()
{
wt=0;
bt2=0;
cout<<"JOBS\tBT\n";
for(arr=1;arr<=ctr;arr++){
cout<<"Job"<<arr; cout<<"\t"; cin>>bt; cout<<"\n";
bt2=bt+bt2;
wt=bt2+wt;
}
awt=(wt-bt2)/ctr;
cout<<"AVERAGE WAITING TIME IS: "<<awt<<endl;
cout<<"Press any key to continue.";
cin>>cont;
}



0 komentar:
Posting Komentar