SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
OS LAB MANUAL

                MURALI




         OS Lab Manual


Operating Systems

                K.MURALI

    COMPUTER SCIENCE AND ENGINEERING

    GUDLAVALLERU ENGINEERING COLLEGE




               CSE ROCKS
OS LAB MANUAL

                                            MURALI

1) Simulate the following CPU scheduling algorithms
     a) FCFS
     b) SJF
     c) Priority
     d) Round Robin

a) FCFS:
AIM : A program to simulate the FCFS CPU scheduling algorithm

PROGRAM:

#include<stdio.h>
#include<string.h>
#include<conio.h>
main()
{
char pn[10][10],t[10];
int arr[10],bur[10],star[10],finish[10],tat[10],wt[10],i,j,n,temp;
int totwt=0,tottat=0;
//clrscr();
printf("Enter the number of processes:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter the Process Name, Arrival Time & Burst Time:");
scanf("%s%d%d",&pn[i],&arr[i],&bur[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(arr[i]<arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
temp=bur[i];
bur[i]=bur[j];
bur[j]=temp;
strcpy(t,pn[i]);
strcpy(pn[i],pn[j]);
strcpy(pn[j],t);
}
}


                                                                     4




                                           CSE ROCKS
OS LAB MANUAL

                                          MURALI

}
for(i=0;i<n;i++)
{
if(i==0)
star[i]=arr[i];
else
star[i]=finish[i-1];
wt[i]=star[i]-arr[i];
finish[i]=star[i]+bur[i];
tat[i]=finish[i]-arr[i];
}
printf("nPName Arrtime Burtime WaitTime Start TAT Finish");
for(i=0;i<n;i++)
{
printf("n%st%3dt%3dt%3dt%3dt%6dt%6d",pn[i],arr[i],bur[i],wt[i],star[i],tat[i],finis
h[i]);
totwt+=wt[i];
tottat+=tat[i];
}
printf("nAverage Waiting time:%f",(float)totwt/n);
printf("nAverage Turn Around Time:%f",(float)tottat/n);
getch();
return 0;
}
OUTPUT:

Input:

Enter the number of processes: 3
Enter the Process Name, Arrival Time & Burst Time: p1 2 4
Enter the Process Name, Arrival Time & Burst Time: p2 3 5
Enter the Process Name, Arrival Time & Burst Time: p3 1 6

Output:

PName Arrtime Burtime WaitTime                  Srart TAT Finish
p3    1     6 0   1 6 7
p1    2    4 5  7 9 11
p2    3    5 8  11 13 16

Average Waiting Time: 4.3333333
Average Turn Around Time: 9.33333333




                                         CSE ROCKS
OS LAB MANUAL

                                          MURALI

b) SJF:
AIM: A program to simulate the SJF CPU scheduling algorithm

PROGRAM:

#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int et[20],at[10],n,i,j,temp,st[10],ft[10],wt[10],ta[10];
int totwt=0,totta=0;
float awt,ata;
char pn[10][10],t[10];
clrscr();
printf("Enter the number of process:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter process name, arrival time & execution time:");
flushall();
scanf("%s%d%d",pn[i],&at[i],&et[i]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(et[i]<et[j])
{
temp=at[i];
at[i]=at[j];
at[j]=temp;
temp=et[i];
et[i]=et[j];
et[j]=temp;
strcpy(t,pn[i]);
strcpy(pn[i],pn[j]);
strcpy(pn[j],t);
}
}
for(i=0;i<n;i++)
{
if(i==0)
st[i]=at[i];
else
st[i]=ft[i-1];




                                         CSE ROCKS
OS LAB MANUAL

                                            MURALI

wt[i]=st[i]-at[i];
ft[i]=st[i]+et[i];
ta[i]=ft[i]-at[i];
totwt+=wt[i];
totta+=ta[i];
}
awt=(float)totwt/n;
ata=(float)totta/n;
printf("nPnametarrivaltimetexecutiontimetwaitingtimettatime");
for(i=0;i<n;i++)
printf("n%st%5dtt%5dtt%5dtt%5d",pn[i],at[i],et[i],wt[i],ta[i]);
printf("nAverage waiting time is:%f",awt);
printf("nAverage turnaroundtime is:%f",ata);
getch();
}

OUTPUT:


Input:

Enter the number of processes: 3
Enter the Process Name, Arrival Time & Burst Time: 1 4 6
Enter the Process Name, Arrival Time & Burst Time: 2 5 15
Enter the Process Name, Arrival Time & Burst Time: 3 6 11

Output:

Pname   arrivaltime executiontime          waitingtime tatime
1      4     6    0 6
3     6     11    4 15
2 5 15 16 31

Average Waiting Time: 6.6667
Average Turn Around Time: 17.3333




                                                                          7




                                           CSE ROCKS
OS LAB MANUAL

                                          MURALI

c) Priority:

AIM: A program to simulate the priority CPU scheduling algorithm

PROGRAM:

#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int et[20],at[10],n,i,j,temp,p[10],st[10],ft[10],wt[10],ta[10];
int totwt=0,totta=0;
float awt,ata;
char pn[10][10],t[10];
clrscr();
printf("Enter the number of process:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter process name,arrivaltime,execution time & priority:");
flushall();
scanf("%s%d%d%d",pn[i],&at[i],&et[i],&p[i]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(p[i]<p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
temp=at[i];
at[i]=at[j];
at[j]=temp;
temp=et[i];
et[i]=et[j];
et[j]=temp;
strcpy(t,pn[i]);
strcpy(pn[i],pn[j]);
strcpy(pn[j],t);
}
}
for(i=0;i<n;i++)
{




                                         CSE ROCKS
OS LAB MANUAL

                                            MURALI

if(i==0)
{
st[i]=at[i];
wt[i]=st[i]-at[i];
ft[i]=st[i]+et[i];
ta[i]=ft[i]-at[i];
}
else
{
st[i]=ft[i-1];
wt[i]=st[i]-at[i];
ft[i]=st[i]+et[i];
ta[i]=ft[i]-at[i];
}
totwt+=wt[i];
totta+=ta[i];
}
awt=(float)totwt/n;
ata=(float)totta/n;
printf("nPnametarrivaltimetexecutiontimetprioritytwaitingtimettatime");
for(i=0;i<n;i++)
printf("n%st%5dtt%5dtt%5dtt%5dtt%5d",pn[i],at[i],et[i],p[i],wt[i],ta[i]);
printf("nAverage waiting time is:%f",awt);
printf("nAverage turnaroundtime is:%f",ata);
getch();
}

OUTPUT:
Input:

Enter the number of processes: 3
Enter the Process Name, Arrival Time, execution time & priority: 1 2 3 1
Enter the Process Name, Arrival Time, execution time & priority: 2 4 5 2
Enter the Process Name, Arrival Time, execution time & priority: 3 5 6 3

Output:

Pname   arrivaltime executiontime          priority     waitingtime      tatime
1      2     3      1    0     3
2     4     5      2   1    6
3   5  6         3  5   11


Average Waiting Time: 2.0000
Average Turn Around Time: 6.6667




                                           CSE ROCKS
OS LAB MANUAL

                                        MURALI

d) Round Robin:
AIM: A program to simulate the Round Robin CPU scheduling algorithm

PROGRAM:

#include<stdio.h>
#include<conio.h>
void main()
{
int et[30],ts,n,i,x=0,tot=0;
char pn[10][10];
clrscr();
printf("Enter the no of processes:");
scanf("%d",&n);
printf("Enter the time quantum:");
scanf("%d",&ts);
for(i=0;i<n;i++)
{
printf("enter process name & estimated time:");
scanf("%s %d",pn[i],&et[i]);
}
printf("The processes are:");
for(i=0;i<n;i++)
printf("process %d: %sn",i+1,pn[i]);
for(i=0;i<n;i++)
tot=tot+et[i];
while(x!=tot)
{
for(i=0;i<n;i++)
{
if(et[i]>ts)
{
x=x+ts;
printf("n %s -> %d",pn[i],ts);

et[i]=et[i]-ts;
}

else
if((et[i]<=ts)&&et[i]!=0)
{
x=x+et[i];
printf("n %s -> %d",pn[i],et[i]);
et[i]=0;}
}




                                       CSE ROCKS
OS LAB MANUAL

                                           MURALI

}
printf("n Total Estimated Time:%d",x);
getch();
}
OUTPUT:

Input:

Enter the no of processes: 2
Enter the time quantum: 3

Enter the process name & estimated time: p1 12
Enter the process name & estimated time: p2 15


Output:
p1 -> 3
p2 -> 3
p1 -> 3
p2 -> 3
p1 -> 3
p2 -> 3
p1 -> 3
p2 -> 3
p2 -> 3

Total Estimated Time: 27




                                          CSE ROCKS
OS LAB MANUAL

                                          MURALI

2) Simulate the MVT and MFT.

MVT:
AIM: A program to simulate the MVT.

PROGRAM:

#include<stdio.h>
#include<conio.h>
void main()
{
int m=0,m1=0,m2=0,p,count=0,i;
clrscr();
printf("enter the memory capacity:");
scanf("%d",&m);
printf("enter the no of processes:");
scanf("%d",&p);
for(i=0;i<p;i++)
{
printf("nenter memory req for process%d: ",i+1);
scanf("%d",&m1);
count=count+m1;
if(m1<=m)
{
if(count==m)
printf("there is no further memory remaining:");
printf("the memory allocated for process%d is: %d ",i+1,m);
m2=m-m1;
printf("nremaining memory is: %d",m2);
m=m2;
}
}
else
{
printf("memory is not allocated for process%d",i+1);
}
printf("nexternal fragmentation for this process is:%d",m2);
}
getch();

}




                                         CSE ROCKS
OS LAB MANUAL

                                           MURALI

OUTPUT:

Input:

Enter the memory capacity: 80
Enter no of processes: 2
Enter memory req for process1: 23

Output:

The memory allocated for process1 is: 80
Remaining memory is: 57
External fragmentation for this process is: 57
Enter memory req for process2: 52
The memory allocated for process2 is: 57
Remaining memory is: 5
External fragmentation for this process is: 5




                                          CSE ROCKS
OS LAB MANUAL

                                     MURALI

MFT:
AIM: A Program to simulate the MFT

PROGRAM:

#include<stdio.h>
#include<conio.h>
int main()
{
int m,p,s,p1;
int m1[4],i,f,f1=0,f2=0,fra1,fra2,s1,pos;
clrscr();
printf("Enter the memory size:");
scanf("%d",&m);
printf("Enter the no of partitions:");
scanf("%d",&p);
s=m/p;
printf("Each partn size is:%d",s);
printf("nEnter the no of processes:");
scanf("%d",&p1);
pos=m;
for(i=0;i<p1;i++)
{
if(pos<s)
{
printf("nThere is no further memory for process%d",i+1);
m1[i]=0;
break;
}
else
{
printf("nEnter the memory req for process%d:",i+1);
scanf("%d",&m1[i]);
if(m1[i]<=s)
{
printf("nProcess is alloca ted in partition%d",i+1);
fra1=s-m1[i];
printf("nInternal fragmentation for process is:%d",fra1);
f1=f1+fra1;
pos=pos-s;




                                   CSE ROCKS
OS LAB MANUAL

                                    MURALI

}
else
{
printf("nProcess not allocated in partition%d",i+1);
s1=m1[i];
while(s1>s)
{
s1=s1-s;
pos=pos-s;
}
pos=pos-s;
fra2=s-s1;
f2=f2+fra2;
printf("nExternal Fragmentation for this process is:%d",fra2);
}
}
}
printf("nProcesstallocatedmemory");
for(i=0;i<p1;i++)
printf("n%5dt%5d",i+1,m1[i]);
f=f1+f2;
printf("nThe tot no of fragmentation is:%d",f);
getch();
return 0;
}




                                   CSE ROCKS
OS LAB MANUAL

                                             MURALI

OUTPUT:

Input:

Enter the memory size: 80
Enter the no of partitions: 4
Each partition size: 20
Enter the number of processes: 2
Enter the memory req for process1: 18

Output:

Process1 is allocated in partn1
Internal fragmentation for process1 is: 2
Enter the memory req for process2: 22
Process2 is not allocated in partn2
External fragmentation for process2 is: 18

Process         memory               allocated
1             20   18
2                  20                        22

The tot no of fragmentation is: 20




                                           CSE ROCKS
OS LAB MANUAL

                                            MURALI

3) Simulate all Page Replacement Algorithms
   a) FIFO
   b) LRU

a) FIFO:
AIM: A program to simulate FIFO Page Replacement Algorithm

PROGRAM:

#include<stdio.h>
#include<conio.h>
void main()
{
int a[5],b[20],n,p=0,q=0,m=0,h,k,i,q1=1;
char f='F';
clrscr();
printf("Enter the Number of Pages:");
scanf("%d",&n);
printf("Enter %d Page Numbers:",n);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++)
{if(p==0)
{
if(q>=3)
q=0;
a[q]=b[i];
q++;
if(q1<3)
{
q1=q;
}
}
printf("n%d",b[i]);
printf("t");
for(h=0;h<q1;h++)
printf("%d",a[h]);
if((p==0)&&(q<=3))
{
printf("-->%c",f);
m++;
}
p=0;
for(k=0;k<q1;k++)




                                           CSE ROCKS
OS LAB MANUAL

                                    MURALI

{
if(b[i+1]==a[k])
p=1;
}
}
printf("nNo of faults:%d",m);
getch();
}
OUTPUT:

Input:

Enter the Number of Pages: 12
Enter 12 Page Numbers:
232152453252

Output:

2 2-> F
3 23-> F
2 23
1 231-> F
5 531-> F
2 521-> F
4 524-> F
5 524
3 324-> F
2 324
5 354-> F
2 352-> F

No of faults: 9




                                   CSE ROCKS
OS LAB MANUAL

                                         MURALI

b) LRU:
AIM: A program to simulate LRU Page Replacement Algorithm

PROGRAM:

#include<stdio.h>
#include<conio.h>
void main()
{
int g=0,a[5],b[20],p=0,q=0,m=0,h,k,i,q1=1,j,u,n;
char f='F';
clrscr();
printf("Enter the number of pages:");
scanf("%d",&n);
printf("Enter %d Page Numbers:",n);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++)
{if(p==0)
{
if(q>=3)
q=0;
a[q]=b[i];
q++;
if(q1<3)
{
q1=q;
//g=1;
}
}
printf("n%d",b[i]);
printf("t");
for(h=0;h<q1;h++)
printf("%d",a[h]);
if((p==0)&&(q<=3))
{
printf("-->%c",f);
m++;
}
p=0;
g=0;
if(q1==3)
{
for(k=0;k<q1;k++)
{




                                        CSE ROCKS
OS LAB MANUAL

                                    MURALI

if(b[i+1]==a[k])
p=1;
}
for(j=0;j<q1;j++)
{
u=0;
k=i;
while(k>=(i-1)&&(k>=0))
{
if(b[k]==a[j])
u++;
k--;
}
if(u==0)
q=j;
}
}
else
{
for(k=0;k<q;k++)
{
if(b[i+1]==a[k])
p=1;
}
}
}
printf("nNo of faults:%d",m);
getch();
}




                                   CSE ROCKS
OS LAB MANUAL

                                   MURALI

OUTPUT:

Input:

Enter the Number of Pages: 12
Enter 12 Page Numbers:
232152453252

Output:

2   2-> F
3   23-> F
2   23
1   231-> F
5   251-> F
2   251
4   254-> F
5   254
3   354-> F
2   352-> F
5   352
2   352

No of faults: 7




                                  CSE ROCKS
OS LAB MANUAL

                                             MURALI

4) Simulate Paging technique of Memory Management.

AIM: A program to simulate Paging technique of memory management.

PROGRAM:

#include<stdio.h>
#include<conio.h>
main()
{
int np,ps,i;
int *sa;
clrscr();
printf("enter how many pagesn");
scanf("%d",&np);
printf("enter the page size n");
scanf("%d",&ps);
sa=(int*)malloc(2*np);
for(i=0;i<np;i++)
{
sa[i]=(int)malloc(ps);
printf("page%dt address %un",i+1,sa[i]);
}
getch();
}

OUTPUT:

Input:

Enter how many pages: 5
Enter the page size: 4

Output:

Page1 Address: 1894
Page2 Address: 1902
Page3 Address: 1910
Page4 Address: 1918
Page5 Address: 1926




                                         CSE ROCKS

Contenu connexe

Tendances (19)

Solutionsfor co2 C Programs for data structures
Solutionsfor co2 C Programs for data structuresSolutionsfor co2 C Programs for data structures
Solutionsfor co2 C Programs for data structures
 
Data Structures Using C Practical File
Data Structures Using C Practical File Data Structures Using C Practical File
Data Structures Using C Practical File
 
ADA FILE
ADA FILEADA FILE
ADA FILE
 
DataStructures notes
DataStructures notesDataStructures notes
DataStructures notes
 
C programms
C programmsC programms
C programms
 
C PROGRAMS
C PROGRAMSC PROGRAMS
C PROGRAMS
 
C programs
C programsC programs
C programs
 
c-programming-using-pointers
c-programming-using-pointersc-programming-using-pointers
c-programming-using-pointers
 
C Prog. - Strings (Updated)
C Prog. - Strings (Updated)C Prog. - Strings (Updated)
C Prog. - Strings (Updated)
 
Cpd lecture im 207
Cpd lecture im 207Cpd lecture im 207
Cpd lecture im 207
 
Cpds lab
Cpds labCpds lab
Cpds lab
 
C Prog - Strings
C Prog - StringsC Prog - Strings
C Prog - Strings
 
C basics
C basicsC basics
C basics
 
C Programming lab
C Programming labC Programming lab
C Programming lab
 
C Prog. - Structures
C Prog. - StructuresC Prog. - Structures
C Prog. - Structures
 
C lab manaual
C lab manaualC lab manaual
C lab manaual
 
C Programming Exam problems & Solution by sazzad hossain
C Programming Exam problems & Solution by sazzad hossainC Programming Exam problems & Solution by sazzad hossain
C Programming Exam problems & Solution by sazzad hossain
 
Practical File of C Language
Practical File of C LanguagePractical File of C Language
Practical File of C Language
 
Double linked list
Double linked listDouble linked list
Double linked list
 

Similaire à Os lab 1st mid

Similaire à Os lab 1st mid (20)

Operating system labs
Operating system labsOperating system labs
Operating system labs
 
Unix Programs
Unix ProgramsUnix Programs
Unix Programs
 
Data structure new lab manual
Data structure  new lab manualData structure  new lab manual
Data structure new lab manual
 
Lab loop
Lab loopLab loop
Lab loop
 
System Software/Operating Sytems lab report
System Software/Operating Sytems lab reportSystem Software/Operating Sytems lab report
System Software/Operating Sytems lab report
 
Assignment no39
Assignment no39Assignment no39
Assignment no39
 
Lab9 LRU and FIFO.docx
Lab9 LRU and FIFO.docxLab9 LRU and FIFO.docx
Lab9 LRU and FIFO.docx
 
week-3x
week-3xweek-3x
week-3x
 
'C' language notes (a.p)
'C' language notes (a.p)'C' language notes (a.p)
'C' language notes (a.p)
 
Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02
 
Bankers Algo Implementation
Bankers Algo ImplementationBankers Algo Implementation
Bankers Algo Implementation
 
week-5x
week-5xweek-5x
week-5x
 
Network lap pgms 7th semester
Network lap pgms 7th semesterNetwork lap pgms 7th semester
Network lap pgms 7th semester
 
Let us C (by yashvant Kanetkar) chapter 3 Solution
Let us C   (by yashvant Kanetkar) chapter 3 SolutionLet us C   (by yashvant Kanetkar) chapter 3 Solution
Let us C (by yashvant Kanetkar) chapter 3 Solution
 
Cd practical file (1) start se
Cd practical file (1) start seCd practical file (1) start se
Cd practical file (1) start se
 
C file
C fileC file
C file
 
SaraPIC
SaraPICSaraPIC
SaraPIC
 
Hargun
HargunHargun
Hargun
 
Structure
StructureStructure
Structure
 
Structure
StructureStructure
Structure
 

Dernier

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 

Dernier (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 

Os lab 1st mid

  • 1. OS LAB MANUAL MURALI OS Lab Manual Operating Systems K.MURALI COMPUTER SCIENCE AND ENGINEERING GUDLAVALLERU ENGINEERING COLLEGE CSE ROCKS
  • 2. OS LAB MANUAL MURALI 1) Simulate the following CPU scheduling algorithms a) FCFS b) SJF c) Priority d) Round Robin a) FCFS: AIM : A program to simulate the FCFS CPU scheduling algorithm PROGRAM: #include<stdio.h> #include<string.h> #include<conio.h> main() { char pn[10][10],t[10]; int arr[10],bur[10],star[10],finish[10],tat[10],wt[10],i,j,n,temp; int totwt=0,tottat=0; //clrscr(); printf("Enter the number of processes:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter the Process Name, Arrival Time & Burst Time:"); scanf("%s%d%d",&pn[i],&arr[i],&bur[i]); } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(arr[i]<arr[j]) { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; temp=bur[i]; bur[i]=bur[j]; bur[j]=temp; strcpy(t,pn[i]); strcpy(pn[i],pn[j]); strcpy(pn[j],t); } } 4 CSE ROCKS
  • 3. OS LAB MANUAL MURALI } for(i=0;i<n;i++) { if(i==0) star[i]=arr[i]; else star[i]=finish[i-1]; wt[i]=star[i]-arr[i]; finish[i]=star[i]+bur[i]; tat[i]=finish[i]-arr[i]; } printf("nPName Arrtime Burtime WaitTime Start TAT Finish"); for(i=0;i<n;i++) { printf("n%st%3dt%3dt%3dt%3dt%6dt%6d",pn[i],arr[i],bur[i],wt[i],star[i],tat[i],finis h[i]); totwt+=wt[i]; tottat+=tat[i]; } printf("nAverage Waiting time:%f",(float)totwt/n); printf("nAverage Turn Around Time:%f",(float)tottat/n); getch(); return 0; } OUTPUT: Input: Enter the number of processes: 3 Enter the Process Name, Arrival Time & Burst Time: p1 2 4 Enter the Process Name, Arrival Time & Burst Time: p2 3 5 Enter the Process Name, Arrival Time & Burst Time: p3 1 6 Output: PName Arrtime Burtime WaitTime Srart TAT Finish p3 1 6 0 1 6 7 p1 2 4 5 7 9 11 p2 3 5 8 11 13 16 Average Waiting Time: 4.3333333 Average Turn Around Time: 9.33333333 CSE ROCKS
  • 4. OS LAB MANUAL MURALI b) SJF: AIM: A program to simulate the SJF CPU scheduling algorithm PROGRAM: #include<stdio.h> #include<conio.h> #include<string.h> void main() { int et[20],at[10],n,i,j,temp,st[10],ft[10],wt[10],ta[10]; int totwt=0,totta=0; float awt,ata; char pn[10][10],t[10]; clrscr(); printf("Enter the number of process:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter process name, arrival time & execution time:"); flushall(); scanf("%s%d%d",pn[i],&at[i],&et[i]); } for(i=0;i<n;i++) for(j=0;j<n;j++) { if(et[i]<et[j]) { temp=at[i]; at[i]=at[j]; at[j]=temp; temp=et[i]; et[i]=et[j]; et[j]=temp; strcpy(t,pn[i]); strcpy(pn[i],pn[j]); strcpy(pn[j],t); } } for(i=0;i<n;i++) { if(i==0) st[i]=at[i]; else st[i]=ft[i-1]; CSE ROCKS
  • 5. OS LAB MANUAL MURALI wt[i]=st[i]-at[i]; ft[i]=st[i]+et[i]; ta[i]=ft[i]-at[i]; totwt+=wt[i]; totta+=ta[i]; } awt=(float)totwt/n; ata=(float)totta/n; printf("nPnametarrivaltimetexecutiontimetwaitingtimettatime"); for(i=0;i<n;i++) printf("n%st%5dtt%5dtt%5dtt%5d",pn[i],at[i],et[i],wt[i],ta[i]); printf("nAverage waiting time is:%f",awt); printf("nAverage turnaroundtime is:%f",ata); getch(); } OUTPUT: Input: Enter the number of processes: 3 Enter the Process Name, Arrival Time & Burst Time: 1 4 6 Enter the Process Name, Arrival Time & Burst Time: 2 5 15 Enter the Process Name, Arrival Time & Burst Time: 3 6 11 Output: Pname arrivaltime executiontime waitingtime tatime 1 4 6 0 6 3 6 11 4 15 2 5 15 16 31 Average Waiting Time: 6.6667 Average Turn Around Time: 17.3333 7 CSE ROCKS
  • 6. OS LAB MANUAL MURALI c) Priority: AIM: A program to simulate the priority CPU scheduling algorithm PROGRAM: #include<stdio.h> #include<conio.h> #include<string.h> void main() { int et[20],at[10],n,i,j,temp,p[10],st[10],ft[10],wt[10],ta[10]; int totwt=0,totta=0; float awt,ata; char pn[10][10],t[10]; clrscr(); printf("Enter the number of process:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter process name,arrivaltime,execution time & priority:"); flushall(); scanf("%s%d%d%d",pn[i],&at[i],&et[i],&p[i]); } for(i=0;i<n;i++) for(j=0;j<n;j++) { if(p[i]<p[j]) { temp=p[i]; p[i]=p[j]; p[j]=temp; temp=at[i]; at[i]=at[j]; at[j]=temp; temp=et[i]; et[i]=et[j]; et[j]=temp; strcpy(t,pn[i]); strcpy(pn[i],pn[j]); strcpy(pn[j],t); } } for(i=0;i<n;i++) { CSE ROCKS
  • 7. OS LAB MANUAL MURALI if(i==0) { st[i]=at[i]; wt[i]=st[i]-at[i]; ft[i]=st[i]+et[i]; ta[i]=ft[i]-at[i]; } else { st[i]=ft[i-1]; wt[i]=st[i]-at[i]; ft[i]=st[i]+et[i]; ta[i]=ft[i]-at[i]; } totwt+=wt[i]; totta+=ta[i]; } awt=(float)totwt/n; ata=(float)totta/n; printf("nPnametarrivaltimetexecutiontimetprioritytwaitingtimettatime"); for(i=0;i<n;i++) printf("n%st%5dtt%5dtt%5dtt%5dtt%5d",pn[i],at[i],et[i],p[i],wt[i],ta[i]); printf("nAverage waiting time is:%f",awt); printf("nAverage turnaroundtime is:%f",ata); getch(); } OUTPUT: Input: Enter the number of processes: 3 Enter the Process Name, Arrival Time, execution time & priority: 1 2 3 1 Enter the Process Name, Arrival Time, execution time & priority: 2 4 5 2 Enter the Process Name, Arrival Time, execution time & priority: 3 5 6 3 Output: Pname arrivaltime executiontime priority waitingtime tatime 1 2 3 1 0 3 2 4 5 2 1 6 3 5 6 3 5 11 Average Waiting Time: 2.0000 Average Turn Around Time: 6.6667 CSE ROCKS
  • 8. OS LAB MANUAL MURALI d) Round Robin: AIM: A program to simulate the Round Robin CPU scheduling algorithm PROGRAM: #include<stdio.h> #include<conio.h> void main() { int et[30],ts,n,i,x=0,tot=0; char pn[10][10]; clrscr(); printf("Enter the no of processes:"); scanf("%d",&n); printf("Enter the time quantum:"); scanf("%d",&ts); for(i=0;i<n;i++) { printf("enter process name & estimated time:"); scanf("%s %d",pn[i],&et[i]); } printf("The processes are:"); for(i=0;i<n;i++) printf("process %d: %sn",i+1,pn[i]); for(i=0;i<n;i++) tot=tot+et[i]; while(x!=tot) { for(i=0;i<n;i++) { if(et[i]>ts) { x=x+ts; printf("n %s -> %d",pn[i],ts); et[i]=et[i]-ts; } else if((et[i]<=ts)&&et[i]!=0) { x=x+et[i]; printf("n %s -> %d",pn[i],et[i]); et[i]=0;} } CSE ROCKS
  • 9. OS LAB MANUAL MURALI } printf("n Total Estimated Time:%d",x); getch(); } OUTPUT: Input: Enter the no of processes: 2 Enter the time quantum: 3 Enter the process name & estimated time: p1 12 Enter the process name & estimated time: p2 15 Output: p1 -> 3 p2 -> 3 p1 -> 3 p2 -> 3 p1 -> 3 p2 -> 3 p1 -> 3 p2 -> 3 p2 -> 3 Total Estimated Time: 27 CSE ROCKS
  • 10. OS LAB MANUAL MURALI 2) Simulate the MVT and MFT. MVT: AIM: A program to simulate the MVT. PROGRAM: #include<stdio.h> #include<conio.h> void main() { int m=0,m1=0,m2=0,p,count=0,i; clrscr(); printf("enter the memory capacity:"); scanf("%d",&m); printf("enter the no of processes:"); scanf("%d",&p); for(i=0;i<p;i++) { printf("nenter memory req for process%d: ",i+1); scanf("%d",&m1); count=count+m1; if(m1<=m) { if(count==m) printf("there is no further memory remaining:"); printf("the memory allocated for process%d is: %d ",i+1,m); m2=m-m1; printf("nremaining memory is: %d",m2); m=m2; } } else { printf("memory is not allocated for process%d",i+1); } printf("nexternal fragmentation for this process is:%d",m2); } getch(); } CSE ROCKS
  • 11. OS LAB MANUAL MURALI OUTPUT: Input: Enter the memory capacity: 80 Enter no of processes: 2 Enter memory req for process1: 23 Output: The memory allocated for process1 is: 80 Remaining memory is: 57 External fragmentation for this process is: 57 Enter memory req for process2: 52 The memory allocated for process2 is: 57 Remaining memory is: 5 External fragmentation for this process is: 5 CSE ROCKS
  • 12. OS LAB MANUAL MURALI MFT: AIM: A Program to simulate the MFT PROGRAM: #include<stdio.h> #include<conio.h> int main() { int m,p,s,p1; int m1[4],i,f,f1=0,f2=0,fra1,fra2,s1,pos; clrscr(); printf("Enter the memory size:"); scanf("%d",&m); printf("Enter the no of partitions:"); scanf("%d",&p); s=m/p; printf("Each partn size is:%d",s); printf("nEnter the no of processes:"); scanf("%d",&p1); pos=m; for(i=0;i<p1;i++) { if(pos<s) { printf("nThere is no further memory for process%d",i+1); m1[i]=0; break; } else { printf("nEnter the memory req for process%d:",i+1); scanf("%d",&m1[i]); if(m1[i]<=s) { printf("nProcess is alloca ted in partition%d",i+1); fra1=s-m1[i]; printf("nInternal fragmentation for process is:%d",fra1); f1=f1+fra1; pos=pos-s; CSE ROCKS
  • 13. OS LAB MANUAL MURALI } else { printf("nProcess not allocated in partition%d",i+1); s1=m1[i]; while(s1>s) { s1=s1-s; pos=pos-s; } pos=pos-s; fra2=s-s1; f2=f2+fra2; printf("nExternal Fragmentation for this process is:%d",fra2); } } } printf("nProcesstallocatedmemory"); for(i=0;i<p1;i++) printf("n%5dt%5d",i+1,m1[i]); f=f1+f2; printf("nThe tot no of fragmentation is:%d",f); getch(); return 0; } CSE ROCKS
  • 14. OS LAB MANUAL MURALI OUTPUT: Input: Enter the memory size: 80 Enter the no of partitions: 4 Each partition size: 20 Enter the number of processes: 2 Enter the memory req for process1: 18 Output: Process1 is allocated in partn1 Internal fragmentation for process1 is: 2 Enter the memory req for process2: 22 Process2 is not allocated in partn2 External fragmentation for process2 is: 18 Process memory allocated 1 20 18 2 20 22 The tot no of fragmentation is: 20 CSE ROCKS
  • 15. OS LAB MANUAL MURALI 3) Simulate all Page Replacement Algorithms a) FIFO b) LRU a) FIFO: AIM: A program to simulate FIFO Page Replacement Algorithm PROGRAM: #include<stdio.h> #include<conio.h> void main() { int a[5],b[20],n,p=0,q=0,m=0,h,k,i,q1=1; char f='F'; clrscr(); printf("Enter the Number of Pages:"); scanf("%d",&n); printf("Enter %d Page Numbers:",n); for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n;i++) {if(p==0) { if(q>=3) q=0; a[q]=b[i]; q++; if(q1<3) { q1=q; } } printf("n%d",b[i]); printf("t"); for(h=0;h<q1;h++) printf("%d",a[h]); if((p==0)&&(q<=3)) { printf("-->%c",f); m++; } p=0; for(k=0;k<q1;k++) CSE ROCKS
  • 16. OS LAB MANUAL MURALI { if(b[i+1]==a[k]) p=1; } } printf("nNo of faults:%d",m); getch(); } OUTPUT: Input: Enter the Number of Pages: 12 Enter 12 Page Numbers: 232152453252 Output: 2 2-> F 3 23-> F 2 23 1 231-> F 5 531-> F 2 521-> F 4 524-> F 5 524 3 324-> F 2 324 5 354-> F 2 352-> F No of faults: 9 CSE ROCKS
  • 17. OS LAB MANUAL MURALI b) LRU: AIM: A program to simulate LRU Page Replacement Algorithm PROGRAM: #include<stdio.h> #include<conio.h> void main() { int g=0,a[5],b[20],p=0,q=0,m=0,h,k,i,q1=1,j,u,n; char f='F'; clrscr(); printf("Enter the number of pages:"); scanf("%d",&n); printf("Enter %d Page Numbers:",n); for(i=0;i<n;i++) scanf("%d",&b[i]); for(i=0;i<n;i++) {if(p==0) { if(q>=3) q=0; a[q]=b[i]; q++; if(q1<3) { q1=q; //g=1; } } printf("n%d",b[i]); printf("t"); for(h=0;h<q1;h++) printf("%d",a[h]); if((p==0)&&(q<=3)) { printf("-->%c",f); m++; } p=0; g=0; if(q1==3) { for(k=0;k<q1;k++) { CSE ROCKS
  • 18. OS LAB MANUAL MURALI if(b[i+1]==a[k]) p=1; } for(j=0;j<q1;j++) { u=0; k=i; while(k>=(i-1)&&(k>=0)) { if(b[k]==a[j]) u++; k--; } if(u==0) q=j; } } else { for(k=0;k<q;k++) { if(b[i+1]==a[k]) p=1; } } } printf("nNo of faults:%d",m); getch(); } CSE ROCKS
  • 19. OS LAB MANUAL MURALI OUTPUT: Input: Enter the Number of Pages: 12 Enter 12 Page Numbers: 232152453252 Output: 2 2-> F 3 23-> F 2 23 1 231-> F 5 251-> F 2 251 4 254-> F 5 254 3 354-> F 2 352-> F 5 352 2 352 No of faults: 7 CSE ROCKS
  • 20. OS LAB MANUAL MURALI 4) Simulate Paging technique of Memory Management. AIM: A program to simulate Paging technique of memory management. PROGRAM: #include<stdio.h> #include<conio.h> main() { int np,ps,i; int *sa; clrscr(); printf("enter how many pagesn"); scanf("%d",&np); printf("enter the page size n"); scanf("%d",&ps); sa=(int*)malloc(2*np); for(i=0;i<np;i++) { sa[i]=(int)malloc(ps); printf("page%dt address %un",i+1,sa[i]); } getch(); } OUTPUT: Input: Enter how many pages: 5 Enter the page size: 4 Output: Page1 Address: 1894 Page2 Address: 1902 Page3 Address: 1910 Page4 Address: 1918 Page5 Address: 1926 CSE ROCKS