Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need helps on memory allocating through first fit, best fit, worst fit. I understand how the fits work but not sure when there are

I need helps on memory allocating through first fit, best fit, worst fit. I understand how the fits work but not sure when there are same sizes of

addresses.

For question 1, I think the heap allocator allocates from higher addresses(at the end) to lower addresses(at the beginning).

and for question 2 and 3, I chose best fit for question 2 and none of the above for question 3, but not sure.

Need clear explanation for this kind of cases.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

sizes between addresses = 1024, 64, 1024, 512, 1024, 128, 1024, 64, 1024 

Question #1

If invoking the program as

memory 480,0,0,0 

produced this output:

0 | 1024 | 1088 | 2112 | 2624 | 3648 | 3776 | 4800 | 4864 | -------------- The 480-byte chunk was allocated at address 2144 

would you conclude that the heap allocator allocates new chunks of RAM at the beginning (i.e., lower addresses) or at the end (i.e., higher addresses) of holes in memory? Why? To explain why just use a contraposition argument (e.g., if the heap allocator did X then Y would have happened, but instead Z happened).

Whatever the heap allocator does, this is what we assume it does for all subsequent questions.

Question #2

If invoking the program as

./memory 100,200,100,80 

produces this output:

0 | 1024 | 1088 | 2112 | 2624 | 3648 | 3776 | 4800 | 4864 | -------------- The 100-byte chunk was allocated at address 2524 The 200-byte chunk was allocated at address 2324 The 100-byte chunk was allocated at address 2224 The 80-byte chunk was allocated at address 3696 

would you say that the heap allocator uses

first fit

best fit

worst fit

none of the above?

Question #3

If invoking the program as

./memory 40, 400, 80, 60 

produces this output:

0 | 1024 | 1088 | 2112 | 2624 | 3648 | 3776 | 4800 | 4864 | -------------- The 40-byte chunk was allocated at address 3736 The 400-byte chunk was allocated at address 2224 The 80-byte chunk was allocated at address 2144 The 60-byte chunk was allocated at address 4804 

would you say that the heap allocator uses

first fit

best fit

worst fit

none of the above?

Question #4

After looking up some documentation, you find out that the heap allocator uses worst fit! What would the output of the memory program be when invoked as follows:

./memory 400, 100, 10, 10 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

2. Do you find change a. invigorating? b. stressful? _______

Answered: 1 week ago

Question

10. Are you a. a leader? b. a follower? _______

Answered: 1 week ago