Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

do some changes in code and make it unique

 

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
//declaring functions
void firstFit(int [], int , int [],int );
void bestFit(int [], int , int [],int );
void worstFit(int [], int , int [],int );
//starting program
int main() {
//declare partitions and process
int partitions [] = {110, 450, 100, 250, 500};
int processes [] = {212, 417, 112, 426};
//getting their sizes
int size_partitions = sizeof(partitions )/sizeof(partitions [0]);
int size_processes = sizeof(processes )/sizeof(processes [0]);
printf("Partitions size: ") ;
for (int i=0; i<size_partitions; i++){
printf("%d\t" ,partitions[i] );
}

//index part
printf("\nPartitions index: " );
for (int i=0; i<size_partitions; i++){
printf("%d\t" ,(i+1)) ;
}
printf( "\n" );
// calling functions
firstFit(partitions , size_partitions, processes , size_processes);
bestFit(partitions , size_partitions, processes , size_processes);
worstFit(partitions , size_partitions, processes , size_processes);
}
void worstFit(int partitionSize[], int sizeM, int processSize[],int sizeP){
printf( "\n----worstFit--------" );
printf( "\n\tProcess \t\tpartitions location \tRemain size.\n") ;
int allocation[sizeP] ;
for (int i = 0; i < sizeP; i++)
allocation[i] = -1;
for (int i=0; i<sizeP; i++)
{
int index = -1;
for (int j=0; j<sizeM; j++)
{
if (partitionSize[j] >= processSize[i])
{
if (index == -1)
index = j;
else if (partitionSize[index] < partitionSize[j])
index = j;
}
}
if (index != -1)
{
allocation[i] = index;
partitionSize[index] -= processSize[i];
}
}
for (int i = 0; i < sizeP; i++)
{
printf("\t%d\t\t\t" ,processSize[i]) ;
if (allocation[i] != -1)
printf("%d\t\t\t%d",(allocation[i] + 1),partitionSize[allocation[i]]) ;
else
printf("Out of size" );
printf("\n");
}
}
void bestFit(int partitionSize[], int sizeM, int processSize[],int sizeP){
printf("\n----bestFit--------" );
printf( "\n\tProcess \t\tpartitions location \tRemain size.\n") ;
int allocation[sizeP] ;
for (int i = 0; i < sizeP; i++)
allocation[i] = -1;
for (int i=0; i<sizeP; i++)
{
int index = -1;
for (int j=0; j<sizeM; j++)
{
if (partitionSize[j] >= processSize[i])
{
if (index == -1)
index = j;
else if (partitionSize[index] > partitionSize[j])
index = j;
}
}
if (index != -1)
{
allocation[i] = index;
partitionSize[index] -= processSize[i];
}
}
for (int i = 0; i < sizeP; i++)
{
printf( "\t%d\t\t\t" ,processSize[i] ) ;
if (allocation[i] != -1)
printf( "%d\t\t\t%d" ,(allocation[i] + 1) ,partitionSize[allocation[i]] );
else
printf("Out of size" );
printf( "\n");
}
}
void firstFit(int partitionSize[], int sizeM,int processSize[], int sizeP){
printf( "\n----firstFit--------" );
printf( "\n\tProcess \t\tpartitions location \tRemain size.\n") ;
int allocation[sizeP] ;
for (int i = 0; i < sizeP; i++)
allocation[i] = -1;
for (int i = 0; i < sizeP; i++)
{
for (int j = 0; j < sizeM; j++)
{
if (partitionSize[j] >= processSize[i])
{
allocation[i] = j;
partitionSize[j] -= processSize[i];
break;
}
}
}
for (int i = 0; i < sizeP; i++)
{
printf("\t%d\t\t\t" ,processSize[i]) ;
if (allocation[i] != -1)
printf("%d\t\t\t%d",(allocation[i] + 1),partitionSize[allocation[i]] );
else
printf("Out of size") ;
printf("\n");
}
}

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education