Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 4 out of 32 pages
Exam (elaborations)

CS354 EXAM 2 REVIEW QUESTIONS AND ANSWERS GRADED A+ 2026

Document preview thumbnail
Preview 4 out of 32 pages

CS354 EXAM 2 REVIEW QUESTIONS AND ANSWERS GRADED A+ 2026

Content preview

CS354 EXAM 2 REVIEW QUESTIONS
AND ANSWERS GRADED A+ 2026




Heap definition - ANS a segment of a processes virtual address space used for dynamically
allocated memory



when is dynamically mem allocated? - ANS at runtime



dynamically allocated memory definition - ANS a collection of various sized mem blocks that
are managed by an allocator



block definition - ANS a continuous chunk of memory containing a payload and overhead



payload definition - ANS part of the block usable by the program requesting heap memory



overhead definition - ANS part of the block used by the allocator to manage the heaps
internal structure.



allocator - ANS code that allocs and frees heap blocks (as well as splits and merges them)



How allocator works: Java - ANS garbage collector, 'new' implicitly determines bytes needed

@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 1

,How allocators work: C - ANS malloc must be told how many bytes needed

free must explicitly be called



name of C's heap allocator - ANS stdlib.h

contains a collection of commonly used C functions



C's heap allocator has functions (4) - ANS malloc, calloc, realloc, and free



malloc function

void *malloc (size_t size) - ANS allocates and returns generic ptr to block of heap memory of
size bytes, or returns null is allocation fails



calloc function

void * calloc(size_t nItems, size_t size) - ANS allocates, clears to 0, returns a block of heap
memory of nItems * size bytes, or returns null upon failure



realloc function

void * realloc(void *ptr, size_t size) - ANS reallocates to size bytes a previously allocd block of
heap memory pointed to by ptr, or returns null if realloc fails



realloc example

realloc to size bytes a previously alloc'd block of heap mem pointed to by ptr, or return null if
failure occurs. - ANS if(ptr == null){

return malloc(size)

}


@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 2

,else if (size == 0){

free(ptr);

return null;

}

else // attempts to reallloc



see l8-4



posix definition - ANS portable os interface

standard for maintaining compatibility among unix operating systems



what is unistd.h? - ANS has functions to access posix API



brk definition - ANS program break

end point of program in VAS



brk usage

int brk(void *addr) - ANS int brk(void *addr)

sets top of heap to the specified address addr

returns 0 if successful, else returns -1 and sets errno



errno definition - ANS error number

set by OS function call (brk or sbrk)



Allocator design:


@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 3

, goals: throughput - ANS measure operations/second (how many mallocs you can do per
second)

higher throughput is better, more operations per second is better



Allocator design:

goals: memory utilization - ANS taking memory requested and divide it among the heap
that's been allocated

higher is better



tradeoff in allocator design - ANS increasing throughput decreases memory utilization and
vice versa



List of requirements of a heap allocator - ANS 1) must handle arbitrary sequence of requests

2) provide an immediate response

3) Doesn't move or change alloc'd blocks

4) Allocs should use the heap, keep on heap memory segment

5) Follow alignment requirements of system



Design Considerations for Allocator - ANS -Free block organization

-placement policy

-splitting free blocks to create a better fit

-coalescing free blocks to create larger free blocks



double word alignment - ANS block size must be a multiple of 8

payload address must be a multiple of 8




@COPYRIGHT 2026/2027 ALLRIGHTS RESERVED 4

Document information

Uploaded on
March 17, 2026
Number of pages
32
Written in
2025/2026
Type
Exam (elaborations)
Contains
Questions & answers
$13.99

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
Brightstars
3.3
(38)
Sold
253
Followers
7
Items
13615
Last sold
1 week ago


Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions