Skip to main content

Posts

Showing posts with the label c

Write a program to implement following UNIX commands.

Write a program to implement following UNIX commands. wc -c <filename> displays number of characters for the given file. wc -w <filename> display number of words for given file. wc -l <filename> display number of line for given file. Program: #include <stdio.h> #include <stdlib.h> #include <string.h> void main(){ setbuf(stdout,NULL); FILE *fp; char s[80],a[5],c[5],temp[100],f[50],p[50],ch; int n; while(1){ printf("\nAP:>"); gets(s); if(strcmp(s,"exit")==0){ exit(0); } sscanf(s,"%s%s%s",&c,&a,&f); fp=fopen(f,"r"); if(strcmp(c,"wc")!=0){ printf("Invalid Command."); }else if(fp==NULL){ printf("File cannot be found."); }else if(strcmp(a,"-c")==0){ n=0; while(!feof(fp)){ ch = fgetc(fp); n++; } printf("\nNumber of character present in file:%d",n); }else if(strcmp(a,"-l")==0){ ...

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[++...

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

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

Write a program to implement following UNIX commands

Write a program to implement following UNIX commands mv <source file> <target file> it moves file into target file. cp <source file> <target file> it copies file into target file. rm <target file> it deletes the file. Program: #include <stdio.h> #include <stdlib.h> #include <string.h> void main(){ setbuf(stdout,NULL); FILE *fp1, *fp2; char s[50], cm[20], path1[20], path2[20], ch; while(1){ printf("\nAP:>"); gets(s); if(strcmp(s,"exit")==0){ exit(0); }else{ sscanf(s,"%s%s%s",&cm,&path1,&path2); if(strcmp(cm,"rm")==0){ if(remove(path1)==0){ printf("File Deleted."); }else{ printf("File not deleted."); } }else if(strcmp(cm,"mv")==0){ fp1 = fopen(path1,"r"); fp2 = fopen(path2,"w"); while(!feof(fp1)){ ch = fgetc(fp1); fputc(ch,fp2); } remove(path1); }...

Write a simulation program for disk scheduling using SCAN algorithm. Accept total number of disk blocks, disk request string, direction of head movement and current head position from the user. Display the list of request in order which it is served. Also display the total number of head movements.

Write a simulation program for disk scheduling using SCAN algorithm. Accept total number of disk blocks, disk request string, direction of head movement and current head position from the user. Display the list of request in order which it is served. Also display the total number of head movements. Program: #include<stdio.h> #include<conio.h> #include <string.h> int main2(void){ setbuf(stdout,NULL); int n,i,pr[50],cp,th,max,small,temp; char d; printf("\n Enter number of disk blocks:"); scanf("%d",&n); printf("\n Enter the current position of head:"); scanf("%d",&cp); printf("Enter the String:"); for(i=0;i<n;i++){ scanf("%d",&pr[i]); } printf("\nEnter the direction of head movement:"); scanf(" %c",&d); max=pr[0]; small=pr[0]; for(i=1;i<n;i++){ if(pr[i]>max){ max = pr[i]; } if(pr[i]<small){ small = pr[i]; } } if(d=='l...

Write a Program to implement "ls" command of UNIX with following options on DOS

Write a Program to implement "ls" command of UNIX with following options on DOS. "ls" to display files. "ls -a" to display all the hidden files. "ls -m" to display the files separated with commas. Program: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<dirent.h> void ls(){ DIR *d; struct dirent *dn; char dr[20]; printf("Enter the Directory name:"); gets(dr); if((d=opendir(dr))==NULL){ printf("\nDirectory can't open"); } else { while((dn=readdir(d))!=NULL){ printf(" %s",dn->d_name); } } } void lsm(){ DIR *d; struct dirent *dn; char dr[20]; printf("Enter the Directory name:"); gets(dr); if((d=opendir(dr))==NULL){ printf("\nDirectory can't open"); } else{ while((dn=readdir(d))!=NULL){ printf("%s,",dn->d...