Ento
Ento
SOURCE CODE:
#include <stdio.h>
#include<conio.h>
#include <string.h>
struct Directory {
char dname[10];
char fname[10][10];
int fcnt;
};
void main() {
clrscr();
dcnt = 0;
while (1) {
scanf("%d", &ch);
switch (ch) {
case 1:
scanf("%s", dir[dcnt].dname);
dir[dcnt].fcnt = 0;
dcnt++;
printf("Directory created\n");
break;
case 2:
scanf("%s", d);
if (strcmp(d, dir[i].dname) == 0) {
scanf("%s", f);
strcpy(dir[i].fname[dir[i].fcnt], f);
dir[i].fcnt++;
printf("File created\n");
break;
}
if (i == dcnt)
case 3:
scanf("%s", d);
if (strcmp(d, dir[i].dname) == 0) {
scanf("%s", f);
if (strcmp(f, dir[i].fname[k]) == 0) {
dir[i].fcnt--;
strcpy(dir[i].fname[k], dir[i].fname[dir[i].fcnt]);
break;
if (k == dir[i].fcnt)
break;
}
}
if (i == dcnt)
break;
case 4:
scanf("%s", d);
if (strcmp(d, dir[i].dname) == 0) {
scanf("%s", f);
if (strcmp(f, dir[i].fname[k]) == 0) {
break;
if (k == dir[i].fcnt)
break;
}
}
if (i == dcnt)
break;
case 5:
if (dcnt == 0)
printf("\nNo Directories\n");
else {
printf("\nDirectory\tFiles\n");
printf("%s\t\t", dir[i].dname);
printf("\t%s", dir[i].fname[k]);
printf("\n");
break;
default:
exit(0);
}
}
OUTPUT:
EXPERIMENT-5: Simulate Bankers Algorithm for
Dead Lock Prevention.
DESCRIPTION:
• Mutual Exclusion
• No preemption
• Hold and wait
This algorithm verifies the attainment of dead lock for the given system.
SOURCE CODE:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
scanf("%d", &pno);
scanf("%d", &rno);
scanf("%d", &r[i]);
av[i] = r[i];
scanf("%d", &max[i][j]);
}
scanf("%d", &curr[i][j]);
}
printf("\n");
if (value == 0)
else
getch();
rest[i] = 1;
currav[i] = av[i];
while (possible)
j = 0;
if (rest[i] != 0)
currav[p] += curr[i][p];
else
break;
if (p == k)
rest[i] = 0;
j++;
if (rest[i] == 0)
{
count++;
temp[pos++] = i;
if (count == n)
possible = 0;
if (j == 0)
possible = 0;
if (rest[i] != 0)
return 0;
return 1;
}
OUTPUT:
EXPERIMENT-6: Simulate the following page
replacement algorithms.
SOURCE CODE:
#include <stdio.h>
#include <conio.h>
int fifo();
int n, pg[20], frm,
pfr = 0;
void main() {
clrscr();
scanf("%d", &n);
scanf("%d", &pg[i]);
scanf("%d", &frm);
pgf = fifo();
pfr = (float)pgf / n;
getch();
int fifo() {
while (i < n) {
int found = 0;
if (fr[pos] == pg[i]) {
hit++;
found = 1;
break;
if (!found) {
printf("%d\t", fr[j]);
printf("\n");
pgf++;
i++;
}
printf("\nNumber of hits: %d", hit);
return pgf;
}
OUTPUT:
6B. LRU Page Replacement Algorithm:
SOURCE CODE:
#include <stdio.h>
#include <conio.h>
float hit_ratio;
int min[10];
int lru() {
if (pos >= 1)
if (a[i] == frm[m]) {
pres = 1;
break;
if (pres == 0) {
frm[pos++] = a[i];
pgf++;
}
printf("\n");
pres = 0;
if (a[i] == frm[m]) {
pres = 1;
break;
if (pres == 0) {
if (frm[j] == a[k]) {
min[j] = k;
pos = 0;
l = min[0];
if (min[p] < l) {
l = min[p];
pos = p;
frm[pos] = a[i];
min[k] = -1;
pgf++;
printf("\n");
pres = 0;
return pgf;
void main() {
clrscr();
scanf("%d", &n);
scanf("%d", &a[i]);
}
printf("Enter the number of frames: ");
scanf("%d", &nfm);
min[i] = -1;
pgf = lru();
hits = n - pgf;
hit_ratio = (float)hits / n;
getch();
OUTPUT: