Skip to main content

Write a simulation program for scheduling algorithm using FCFS. The arrival time and first CPU burst of different jobs should be input to the system. The output should give the Gantt chart & turnaround time for each process and average turnaround time.

Write a simulation program for scheduling algorithm using FCFS. The arrival time and first CPU burst of different jobs should be input to the system. The output should give the Gantt chart & turnaround time for each process and average turnaround time.


Program:
#include <stdio.h>
#include <stdlib.h>

struct sch{
 int at,st,bt,tat,ft;
}pr[50];

int rq[50],x,n,timer;
void addP(){
 int i;
 for(i=0;i<n;i++){
  if(pr[i].at==timer){
   rq[x++]=i;
  }
 }
}
int selectP(){
 int pp,i;
 if(x<0){
  return(-1);
 }else{
  pp=rq[0];
  for(i=0;i<n;i++){
   rq[i]=rq[i+1];
  }
  x--;
  return(pp);
 }
}

int main(void){
 setbuf(stdout,NULL);
 int i,t,p;
 float atat;
 timer = 0;
 x=-1;
 printf("Enter the number of processes:");
 scanf("%d",&n);
 for(i=0;i<n;i++){
  printf("\nEnter the Arrival time:");
  scanf("%d",&pr[i].at);
  printf("\nEnter the Burst time:");
  scanf("%d",&pr[i].bt);
 }
 t=0;
 addP();
 while(t<n){
  p=selectP();
  if(p==-1){
   printf("idle|");
   timer++;
   addP();
  }else{
   pr[p].st=timer;
   for(i=0;i<pr[p].bt;i++){
    printf("P%d|",p);
    timer++;
    addP();
   }
   pr[p].ft=pr[p].st+pr[p].bt;
   t++;
  }
 }
 atat=0;
 printf("\nTurn Around Time for each Process:");
 for(i=0;i<n;i++){
  pr[i].tat = pr[i].ft-pr[i].at;
  printf("\nP%d=%d",i,pr[i].tat);
  atat+=pr[i].tat;
 }
 atat = atat/n;
 printf("\nAverage Turn Around Time:%f",atat);
 return EXIT_SUCCESS;
}

Comments

Trending Posts

Write a Java program using servlet for email registration with userid, password, name, address fields and display the details on next page.

Write a Java program using servlet for email registration with userid, password, name, address fields and display the details on next page. Program: import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class User extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ resp.setContentType("Text/http:charset=UTF-8"); PrintWriter out = resp.getWriter(); out.print("<html>"); out.print("<head>"); out.print("<title>Today</title>"); out.print("</head>"); out.print("<body>"); out.print("<br>UserId="+resp.getParameter("userid")); out.print("<br>Password="+resp.getParameter("password")); out.print("<br>Name=&quo

Write a Java program to accept names of n students and insert into LinkedList. Display the contents of list using Iterator and also Display the content in reverse order using ListIterator.

Write a Java program to accept names of n students and insert into LinkedList. Display the contents of list using Iterator and also Display the content in reverse order using ListIterator. Program: import java.io.*; import java.util.*; class ReverseLinkedList { public static void main(String args[]) throws IOException { LinkedList students = new LinkedList(); String str; int i, n; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter how many names:"); n = Integer.parseInt(br.readLine()); for(i=0;i<n;i++){ System.out.println("Enter the names of students:"); str = br.readLine(); students.add(str); } Iterator itr = students.iterator(); System.out.println("Content of LinkedList using Iterator"); while(itr.hasNext()){ System.out.println(itr.next()); }

Write a Java program to read n integers into LinkedList collection. Do the following operations. Display only negative integers and delete last element.

Write a Java program to read n integers into LinkedList collection. Do the following operations. Display only negative integers and delete last element. Program: import java.io.*; import java.util.*; class LinkedListInt { public static void main(String args[]) throws IOException { LinkedList list = new LinkedList(); int i,n,x; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("How many integers:"); n = Integer.parseInt(br.readLine()); for(i=0;i<n;i++){ System.out.println("Enter Number:"); x = Integer.parseInt(br.readLine()); list.add(x); } Iterator itr = list.iterator(); while(itr.hasNext()){ Integer y = (Integer)itr.next(); int a = (int)y; if(a<0){ System.out.println("Negative number:"+a); } } System.out.pri

Write a Java program to accept the details of employee(eno, ename, salary) using AWT and insert into database

Write a Java program to accept the details of employee(eno, ename, salary) using AWT and insert into database. Program: import java.awt.*; import java.awt.event.*; import java.io.*; import java.sql.*; public class Employee extends Frame implements ActionListener { Label labelEno, labelEname, labelSalary; TextField textEno, textEname, textSalary; Button btnAdd; String sqlQuery; Statement s; Connection dbConnection; public Employee() throws ClassNotFoundException, SQLException { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); dbConnection = DriverManager.getConnection("jdbc.odbc:EmployeeDSN"); setLayout(new FlowLayout()); setSize(300,300); labelEno = new Label("Employee No:"); labelEname = new Label("Employee Name:"); labelSalary = new Label(Employee Salary:); textEno = new TextField(20); textEname = new TextField(20); textSalary = new TextField(20); btnAdd = new Button("Add"); btnAdd.addAction

Write simulation program for demand paging and show the page scheduling and total number of page faults according to LFU page replacement algorithm. Assume the memory of n frames.

Write simulation program for demand paging and show the page scheduling and total number of page faults according to LFU page replacement algorithm. Assume the memory of n frames. Program: #include <stdio.h> #include <stdlib.h> void main(){ setbuf(stdout,NULL); int f, tp ,al[50][50]={-1, -1}, i,j,pg[50],pf,x,queue[50]; printf("\nEnter total number of frames:"); scanf("%d",&f); printf("\nEnter total number of pages:"); scanf("%d",&tp); printf("\nEnter page string:"); for(i=0;i<tp;i++){ scanf("%d",&pg[i]); } pf=0; for(i=0;i<tp;i++){ for(j=0;j<f;j++){ if(al[j][i]==pg[i]){ break; } } if(f==j){ for(j=0;j<f;j++){ if(al[j][i]==-1){ al[j][i]=pg[i]; queue[++x]=pg[i]; pf++; break; } } if(f==j){ for(j=0;j<f;j++){ if(al[j][i]==queue[x]){ al[j][i]=pg[i]; pf++; x--; } } } } else{ queue[++