⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lab16b.c

📁 ALL LINUX LAB PROGRAM MIT MANIPAL 2008-09 BATCH
💻 C
字号:
#include<stdio.h>
//#include<process.h>
#include<fcntl.h>

typedef struct
{
        int pid;
        int bt;
}process;
process p[30];

 main()
{
        int ch;
        char c;
        do
        {
                system("clear");
                printf("\n Main MENU ");
                printf("\n PROCESS SCHEDULING ");
                printf("\n\n1.FCFS");
                printf("\n2.SJF");
                printf("\n3.EXIT");

                printf("\n Enter ur choice :");
                scanf(" %d",&ch);
                switch(ch)
                {
                        case 1: fcfs();break;
                        case 2: sjf();break;
                        case 3: exit(0);
                        default : printf("\n Invalid Input");
                }
                printf("\n Do u wanna to continue :");
                scanf(" %c",&c);
        }while( c =='y' || c =='Y');
}

fcfs()
{
        int n,i,start=0,end;
        printf("\n Enter the no. of processes :");
        scanf(" %d",&n);
        for(i=0;i<n;i++)
        {
                printf("\n enter the Process no :");
                scanf("%d",&p[i].pid);

                printf("\n Enter the brust time :");
                scanf("%d",&p[i].bt);

        }
//FCFS Rule - process which enetr first will proceed first for execution
        printf(" FCFS ALGORITHM \n");
        for(i=0;i<n;i++)
        {
                printf(" Process[%d] \t",p[i].pid);
                end=start+p[i].bt;
                printf(" =\t%d - %d\n",start,end);
                start=end;
        }
        printf("TOTAL BURST TIME IS %d",end);
}

sjf()
{
        int i,j,n,start=0,end;
        process temp;
              printf("\n Enter the no. of processes :");
        scanf(" %d",&n);
        for(i=0;i<n;i++)
        {
                printf("\n enter the Process no :");
                scanf("%d",&p[i].pid);

                printf("\n Enter the brust time :");
                scanf("%d",&p[i].bt);

        }

  //SJF refeers to the process which has shortest brust time will execute
//first
        for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
        {
                if(p[i].bt>p[j].bt)
                {
                        temp=p[i];
                        p[i]=p[j];
                        p[j]=temp;
                }
        }
        printf("\n SJF ALGORITHM \n");
        for(i=0;i<n;i++)

        {        printf(" Process{%d]\t",p[i].pid);


                end=start+p[i].bt;
                printf(" =\t%d - %d\n",start,end);
                start=end;
        }
        printf("TOTAL BURST TIME IS %d",end);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -