Professional Documents
Culture Documents
Untitled Document
Untitled Document
h>
if (best_fit_index != -1) {
memory_blocks[best_fit_index].allocated = 1;
memory_blocks[best_fit_index].process_id = i + 1;
}
}
}
// Function to perform Worst Fit allocation
void worstFit(struct MemoryBlock memory_blocks[], int num_blocks, int processes[], int
num_processes) {
for (int i = 0; i < num_processes; ++i) {
int worst_fit_index = -1;
if (worst_fit_index != -1) {
memory_blocks[worst_fit_index].allocated = 1;
memory_blocks[worst_fit_index].process_id = i + 1;
}
}
}
int main() {
// Example Usage
struct MemoryBlock memory_blocks[] = {{100, 0, 0}, {200, 0, 0}, {150, 0, 0}};
int processes[] = {120, 80, 200};
int num_blocks = sizeof(memory_blocks) / sizeof(memory_blocks[0]);
int num_processes = sizeof(processes) / sizeof(processes[0]);
// First Fit
firstFit(memory_blocks, num_blocks, processes, num_processes);
printAllocation(memory_blocks, num_blocks);
// Reset Memory Blocks
for (int i = 0; i < num_blocks; ++i) {
memory_blocks[i].allocated = 0;
memory_blocks[i].process_id = 0;
}
// Best Fit
bestFit(memory_blocks, num_blocks, processes, num_processes);
printAllocation(memory_blocks, num_blocks);
// Worst Fit
worstFit(memory_blocks, num_blocks, processes, num_processes);
printAllocation(memory_blocks, num_blocks);
return 0;
}