micro
micro
#include <stdio.h>
#define MAX_FILES 10
#define MAX_BLOCKS 20
struct File {
char name[20];
int start_block;
int size;
};
int main() {
int disk[MAX_BLOCKS];
disk[i] = 0;
scanf("%d", &n);
scanf("%s", files[i].name);
printf("File size (in blocks): ");
scanf("%d", &files[i].size);
if (disk[j] == 0) {
if (start_block == -1) {
start_block = j;
if (j - start_block + 1 == files[i].size) {
break;
} else {
start_block = -1;
if (start_block != -1) {
files[i].start_block = start_block;
disk[j] = 1;
free_blocks -= files[i].size;
} else {
}
}
printf("\nDisk Status:\n");
printf("\n");
return 0;
Fifo
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10
Int queue[MAX_SIZE];
If (rear == MAX_SIZE – 1) {
Printf(“Queue is full\n”);
Return;
Front = rear = 0;
} else {
Rear++;
Queue[rear] = data;
Int dequeue() {
Printf(“Queue is empty\n”);
Return -1;
If (front == rear) {
} else {
Front++;
Return data;
Void display() {
Printf(“Queue is empty\n”);
Return;
Printf(“Queue: “);
Printf(“%d “, queue[i]);
Printf(“\n”);
Int main() {
Enqueue(10);
Enqueue(20);
Enqueue(30);
Display();
Dequeue();
Dequeue();
Display();
Enqueue(40);
Enqueue(50);
Display();
Return 0;
LRU
#include <stdio.h>
#include <limits.h>
#define PAGES 4
#define FRAMES 3
Int main() {
Int frames[FRAMES];
Int page_faults = 0;
Frames[i] = -1;
Mru[i] = 0;
Int found = 0;
If (frames[j] == page) {
Found = 1;
Break;
If (!found) {
Int min_index = 0;
Min_index = j;
Frames[min_index] = page;
Mru[min_index] = i;
Page_faults++;
Printf(“Frame: “);
Printf(“%d “, frames[j]);
Printf(“\n”);
Return 0;
FCfS
#include <stdio.h>
Int main() {
Scanf(“%d”, &n);
Scanf(“%d”, &at[i]);
Scanf(“%d”, &bt[i]);
Rt[i] = bt[i];
Rt[0] = bt[0];
Time = bt[0];
Remain = bt[0];
For(time = 0, i = 0; remain != 0; ) {
Rt[i] = 0;
Flag = 1;
If(rt[i] > 0) {
Time++;
Rt[i]--;
}
If(i == n – 1 && flag == 1) {
I = 0;
Flag = 0;
I++;
Return 0;