Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
bartleby

Concept explainers

Expert Solution & Answer
Book Icon
Chapter 9, Problem 9.17HW

Explanation of Solution

Perform Next-fit search instead of First-fit search:

In the “Section 9.9.12 (mm.c)”, remove the lines that starts from “/* $begin mmfirstfit */” and ends with “return NULL; /* No fit */”.

Add the following highlighted code to the “Section 9.9.12 (mm.c)”. The modified “mm.c” file is as follows:

/* Global variables */

static char *heap_listp = 0;  /* Pointer to first block */

// Rover for Next fit

static char *rover;

/* Function prototypes for internal helper routines */

static void *extend_heap(size_t words);

heap_listp += (2 * WSIZE);

/* $end mminit */

// Assign heap_listp to rover

rover = heap_listp;

/* $begin mminit */

/* Extend the empty heap with a free block of CHUNKSIZE bytes */

bp = PREV_BLKP(bp);

}

/* $end mmfree */

// If condition to check the rover is not representing the free block

if ((rover > (char *)bp) && (rover < NEXT_BLKP(bp)))

// Assign bp to rover

rover = bp;

/* $begin mmfree */

return bp;

}

{

/* Next fit search instead of first fit search*/

// Assign rover to the character pointer oldrover

char *oldrover = rover;

/* Finding next fit using for loop */

// For loop to search from rover to the end of the list

for (; GET_SIZE(HDRP(rover)) > 0; rover = NEXT_BLKP(rover))

// If condition to check allocation and size of rover

if (!GET_ALLOC(HDRP(rover)) && (asize <= GET_SIZE(HDRP(rover))))

// Return rover

return rover;

// For loop to search from start of list to old rover

for (rover = heap_listp; rover < oldrover; rover = NEXT_BLKP(rover))

// If condition to check allocation and size of rover

if (!GET_ALLOC(HDRP(rover)) && (asize <= GET_SIZE(HDRP(rover))))

// Return rover

return rover;

// Otherwise return null

return NULL;

}

/* $end mmfirstfit */

Filename: main.c

// Include libraries

#include <stdio.h>

#include <stdlib.h>

#include <assert.h>

// Include required header files

#include "csapp...

Blurred answer
Students have asked these similar questions
Implement a C program to find the largest element in a given array. You must have a main function and a max function. The function int main() will declare an array with the values {12, 100, 10, 1000, 20, 5}. This array will be passed to the max function. The function int max() will perform the necessary operations to find the largest element of the array. After max () is finished, have main () print the largest value and its index in the array. Do not hard code your solution! If we test your code with different array values, we should still get the correct output. The following link may help you get started: https://www.tutorialspoint.com/cprogramming/c_function_call_by_reference.htm
Please run the following program and answer the questions. #include int main(void) { int arr[6] = int *pointer pointer *pointer = {10, 20, 30, 40, 50, 60}; = &arr[0]; pointer + 2; = 5 ; pointer++; *pointer - (*pointer) 5 ; pointer++; *pointer * (pointer+1) - 5%; return 0; 1. [10 pts] Please list the values of elements in array arr after line 8 (*pointer why. = 5; ) and explain
> Comparable Method - methodName: String -priority: int + Method() + Method(methodName: String, priority: int) + abstract specificWay(): void + Getters and setters for all fields compareTo(otherMethod: Method): int + toString(): String ReadMethod - language: String + ReadMethod() + ReadMethod(methodName: String, priority: int, language: String) + specificWay(): void + Getters and setters for language + toString(): String Part 1.1. Implement the abstract class Method implements Comparable interface according to its UML diagram. Add comments stating where data fields, constructors, toString(), and other methods are (if any). Neither method should have an empty body unless abstract methods. 1. two constructors (default and the constructor with all fields) 2. getters and setters for all fields (methodName and priority). 3. toString() method: modify by yourself to match the example output. 4. Abstract method void specificWay(). 5. Implement compara To(Method otherMethod) to compare…
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
Np Ms Office 365/Excel 2016 I Ntermed
Computer Science
ISBN:9781337508841
Author:Carey
Publisher:Cengage