Showing posts with label c-plus plus program. Show all posts
Showing posts with label c-plus plus program. Show all posts

Saturday 23 June 2012

c++ program of preemitive prority based scheduling algorithm.

#include <iostream>
using namespace std;
int main()
{    int n;
    cout<<"enter your toal no. of process";
    cin>>n;
    float total,wait[n];
    float p[n],twaiting=0,waiting=0;
    int proc;
    int stack[n];
    float brust[n],arrival[n],sbrust,temp[n],top=n,prority[n];
    int i;
   

c++ Program of first come first served (FCFS) scheduling algorithm

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    int  n,at,bt;
    char proc[200],file1[50];
    fstream my;
    cout<<"enter file name";
    cin.getline(file1,50);
    my.open(file1,ios::out);
    cout<<"how many";
    cin>>n;

    for(int i=0;i<n;i++)
    {
        cout<<"enter process:";
        cin>>proc;
        cout<<"enter arrival time";
        cin>>at;
        cout<<"enter burst time;";
        cin>>bt;
        my<<proc<<endl<<at<<endl<<bt<<endl;
    }
    my.close();
   fstream myf;
    myf.open(file1,ios::in);
    char p[200];
    float arival;
    float  waiting=0;
    float brust;
    float totalw=0;
        for(float i=0;i<n;i++)
        {   
            waiting=waiting+(totalw-arival);
            cout<<"watiit"<<waiting<<endl;
            totalw=totalw+brust;           
        }
        float t=1.00;
        t = waiting/n;
    cout<<"n is"<<n;
    cout<<"average waiting time is"<<t;
    return 0;
    }
     

Various Process Scheduling Algorithms:

Various Page Replacement Algorithms:

Various Disk Head Movement Counting Algorithms:
                                  

Friday 22 June 2012

c++ program of non preemptive priority based scheduling algorithm

#include <iostream>
using namespace std;


int main()
{    int n;

    cout<<"enter your toal no. of process";
    cin>>n;
    float total,wait[n];
    float p[n],twaiting=0,waiting=0;
    int proc;
    int stack[n];
    float brust[n],arrival[n],sbrust,temp[n],top=n,prority[n];
    int i;
    for(i=0;i<n;i++)
    {
        p[i]=i;
        stack[i]=i;
        cout<<"enter arival time :";
        cin>>arrival[i];
        cout<<endl<<"enter brust time:";
        cin>>brust[i];
        cout<<endl<<"enter prority time:";
        cin>>prority[i];
       
        temp[i]=arrival[i];
        sbrust=brust[i]+sbrust;
             
    }
   
    for(i=0;i<sbrust;i++)
    {   
        //section 1
        proc=stack[0];
        if(temp[proc]==i)
        {
         
            twaiting=0;
        }
        else
        {   
            twaiting=i-(temp[proc]);
         }
           temp[proc]=i+1;   
           wait[proc]=wait[proc]+twaiting;
            waiting=waiting+(twaiting);
            brust[proc]=brust[proc]-1;
                          
        if(brust[proc]==0)
        {
            for(int x=0;x<top-1;x++)
            {
                stack[x]=stack[x+1];
              
            }
            top=top-1;
    
       
        for(int z=0;z<top-1;z++)
        {  
            if((prority[stack[0]]>prority[stack[z+1]]) && (arrival[stack[z+1]] <= i+1))
            {
                   int t=stack[0];
            stack[0]=stack[z+1];
            stack[z+1]=t;
            }
       
        }
           
        }
       
       
    }


cout<<"Average waiting time is:"<<waiting/n;
float tu=(sbrust+waiting)/n;
cout<<endl<<"Average turnaround time is:"<<tu;
return 0;
}




Various Process Scheduling Algorithms:

Various Page Replacement Algorithms:

Various Disk Head Movement Counting Algorithms:

c++ program of non preemptive Shortest Job First (SJF)scheduling algorithm

#include<iostream.h>
#include<stdio.h>
#include<fstream.h>

int main()
{    int n=3;
    float total,wait[3]={0};
    float p[3],twaiting=0,waiting=0;
    int proc;
    int stack[3];
    float brust[3],arrival[3],sbrust,temp[3],top=3;

for(int i=0;i<n;i++)
    {
        p[i]=i;
        stack[i]=i;
        cout<<"enter arival time :";
        cin>>arrival[i];
        cout<<endl<<"enter brust time:";
        cin>>brust[i];
        temp[i]=arrival[i];
        sbrust=brust[i]+sbrust;
       
       
    }
   
    for(i=0;i<sbrust;i++)
    {
        proc=stack[0];
        if(temp[proc]==i)
        {
            //temp[proc]=i+1;;
            twaiting=0;
        }
        else
        {   
            twaiting=i-(temp[proc]);
                 
        }
        temp[proc]=i+1;   
  
        wait[proc]=wait[proc]+twaiting;
        waiting=waiting+(twaiting);
         brust[proc]=brust[proc]-1;
   
        if(brust[proc]==0)
        {
            for(int x=0;x<top-1;x++)
            {
                stack[x]=stack[x+1];
             }
            top=top-1;
            for(int z=0;z<top-1;z++)
            {  
                 if((brust[stack[0]]>brust[stack[z+1]]) && (arrival[stack[z+1]] <= i+1))
              {
                       int t=stack[0];
            stack[0]=stack[z+1];
            stack[z+1]=t;
              }
          }
        }
  
cout<<"waiting:"<<waiting;
return 0;
}


Various Process Scheduling Algorithms:

Various Page Replacement Algorithms:

Various Disk Head Movement Counting Algorithms: