Rabu, 02 Mei 2012

Program Penjadwalan Non Preemptive

Share this history on :

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:

  1. Berjalan dari running state sampai waiting state.
  2. 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