Evaluate the correctness and performance of your allocator

Assignment Help C/C++ Programming
Reference no: EM13945973

Implement a simple memory allocator based on the so-called "Buddy System" scheme, that allocates memory in blocks with sizes that are powers of two, starting at a block size that is given as an argument when the allocator is initialized.

* The memory allocator shall be implemented as a C module my_allocator, which consists of a header file my_allocator.h and my_allocator.c. It should provide the functions my_malloc() and my_free(), very similar to the UNIX calls malloc() and free().

* Evaluate the correctness (up to some point) and the performance of your allocator. For this use the given strange implementation of a highly-recursive Ackermann function. In this implementation of the Ackermann function, random blocks of memory are allocated and de-allocated sometime later, generating a large combination of different allocation patterns.

* Write a program called memtest, which reads the basic block size and the memory size (in bytes) from the command line, initializes the memory, and then calls the Ackermann function. It measures the time it takes to perform the number of memory operations. Make sure that the program exits cleanly if aborted (using atexit() to install the exit handler).

* Use the getopt() C library function to parse the command line for arguments. The synopsis of the memtest program is of the form

memtest [-b <blocksize>] [-s <memsize>]

-b <blocksize> defines the block size, in bytes. Default is 128 bytes.
-s <memsize> defines the size of the memory to be allocated, in bytes.
Default is 512kB.

* Repeatedly invoke the Ackermann function with increasingly larger values for n and m (be careful to keep n <= 3; the processing time increases very steeply for larger values of n).

* Make sure that the allocator gets de-allocated (and its memory freed) when the program either exits or aborts (for example, when the user presses Ctrl-C).

Please see the attachments for more details.

I have been tasked with the attached problem, and do not seem to make any progress.

Attachment:- MP1.zip

Reference no: EM13945973

Questions Cloud

Calculate the effective weighted average cost of capital : Calculate the effective Weighted Average Cost of Capital (WACC)using datafrom the consolidated financial statements, a value of 1.1 for ß and a risk-free rate of 1.3%.
Write the author name and title of essay : The objective is improved reading comprehension and analysis towards an advanced understanding of modern art theory. Write the author's name, title of essay
Find profitability index of the proposed project : Find the net present value, internal rate of return, payback period, discounted payback period, and profitability index of the proposed project. Based on your analysis should the project be accepted? Discuss.
Prepare a monthly cash budget for the last 6 months of 2014 : Prepare an estimate of the required financing (or excess funds)-that is, the amount of money Rusty's Renovations will need to borrow (or will have available to invest)- for each month during that period.
Evaluate the correctness and performance of your allocator : Repeatedly invoke the Ackermann function with increasingly larger values for n and m (be careful to keep n
How many shares of stock will you own : At what price would you expect the stock to sell on April 2, all other things the same (no signaling effect)? What will be the total value of your holdings before and after the stock dividend, all other things the same?
Describe five specific areas to improve company competitve : Select an advantage you identified, and provide a detailed scenario of how it could be leveraged to improve a company's competitive advantage.
Analyze the factors that drive supply and demand : Analyze the factors that drive supply and demand, different types of market structures in a free enterprise system, and factors of stability in a nation's economy - Examine the private enterprise systems, drivers of change on the system, ethical a..
Discussion alternate approaches and why your recommendation : Write a 500-word memo (APA Format) to the executive at Acer or Hewlett-Packard providing your recommendation for their organization that includes the following: ?A brief description of the situation

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write statements that assign random integers to the variable

Write statements that assign Random integers to the variable n in the following ranges.

  Problem related to stroing of text file values into vector

I have to store the text file values into a vector and do the sum, here the text file sample: Expenses: Equipment:$300 Food: $50  Consumable expenses: $100

  Computer program the requirements are attached please see

the requirements are attached. please see them. the program should be done in c or c. also i need read me file to tell

  Difference between connectionless and connection-oriented

How does SSH differ from Telnet? How does HTTPS differ from HTTP?

  Create an output array using input

create an output array using input x values 1 through 10.

  Write a program to read a data file and extract parameters

Write a C/C++ program to read a data file and extract parameters. The program must obtain the filename via a command-line argument.

  Create a function that returns true

Create a function that returns true if the input is a numeric row vector and false otherwise - single input which may be any data class.

  Implement a program to add three numbers

implement a program to add three numbers - I can get the two numbers but not 3.  Need to be able use in PEP 8 loader and executor.  All I need is the object

  Q1 write a program that generates the following

q1. write a program that generates the following outputnbspnbspnbspnbspnbspnbspnbspnbsp 10nbspnbspnbspnbspnbspnbspnbsp

  Design an employee class that has fields for name

Design an Employee class that has fields for the following pieces of information: Employee Name and Employee Number

  Calculate the total as well as the average payment

Create a C++ application which will read a file of daily payments, calculate the total as well as the average payment, display the results to the screen and write the results to a file.

  What''s a more efficient way to write

What's a more efficient way to write this function for a matrix? This one has to go through all the numbers, but that would take too long. r_num is row and c_num is column

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd