Computer Systems: A Programmer's Perspective Plus Mastering Engineering With Pearson Etext -- Access Card Package (3rd Edition)
Computer Systems: A Programmer's Perspective Plus Mastering Engineering With Pearson Etext -- Access Card Package (3rd Edition)
3rd Edition
ISBN: 9780134123837
Author: Randal E. Bryant, David R. O'Hallaron
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 9.9, Problem 9.9PP

Explanation of Solution

Implementation of “place()” function:

In the “Section 9.9.12 (mm.c)”, add the below “place()” function to allocate the blocks. The function “place()” is as follows:

// Definition of place() function to allocate the requested block

static void place(void *bp, size_t asize)

{

// Call GET_SIZE() function to assign csize

size_t csize = GET_SIZE(HDRP(bp));

// Check the size

if ((csize - asize) >= (2 * DSIZE)) {

// Call PUT function with HDRP and PACK asize, 1

PUT(HDRP(bp), PACK(asize, 1));

// Call PUT function with FTRP and PACK asize, 1

PUT(FTRP(bp), PACK(asize, 1));

// Call NEXT_BLKP() function to assign bp

bp = NEXT_BLKP(bp);

// Call PUT function with HDRP and computed PACK size, 0

PUT(HDRP(bp), PACK(csize - asize, 0));

// Call PUT function with FTRP and computed PACK size, 0

PUT(FTRP(bp), PACK(csize - asize, 0));

}

// Otherwise

else {

// Call PUT function with HDRP and PACK csize, 1

PUT(HDRP(bp), PACK(csize, 1));

// Call PUT function with FTRP and PACK csize, 1

PUT(FTRP(bp), PACK(csize, 1));

}

}

Explanation:

The “place()” function is to allocate the requested block.

  • A pointer “bp” represents which place the block is allocated.
  • Call “GET_SIZE()” function to assign “csize”.
  • “if” statement to check the size to fit the block.
    • The function “HDRP()” and “FTRP()” represents the place of the pointer.
    • Compute the size by calling “PACK()” function.
    • Place the block if the condition is satisfied using “PUT()” function.

Filename: main.c

// Include libraries

#include <stdio.h>

#include <stdlib.h>

#include <assert.h>

// Include required header files

#include "csapp.h"

#include "memlib.h"

#include "mm.h"

#include "memlib.c"

#include "mm...

Blurred answer
Students have asked these similar questions
[5 marks] Give a recursive definition for the language anb2n where n = 1, 2, 3, ... over the alphabet Ó={a, b}. 2) [12 marks] Consider the following languages over the alphabet ƒ={a ,b}, (i) The language of all words that begin and end an a (ii) The language where every a in a word is immediately followed by at least one b. (a) Express each as a Regular Expression (b) Draw an FA for each language (c) For Language (i), draw a TG using at most 3 states (d) For Language (ii), construct a CFG.
Question 1 Generate a random sample of standard lognormal data (rlnorm()) for sample size n = 100. Construct histogram estimates of density for this sample using Sturges’ Rule, Scott’s Normal Reference Rule, and the FD Rule. Question 2 Construct a frequency polygon density estimate for the sample in Question 1, using bin width determined by Sturges’ Rule.
Generate a random sample of standard lognormal data (rlnorm()) for sample size n = 100. Construct histogram estimates of density for this sample using Sturges’ Rule, Scott’s Normal Reference Rule, and the FD Rule.
Knowledge Booster
Background pattern image
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
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr