flâneur — a map of the web's best reading

Syscall implementation | CS 162 HW 4

cs162.org · 1,014 words · saved by 1 readers

You are advised to begin by reading over the functions start_process and load in process.c. Consider what new initialization you must perform in these locations in order to support the heap functionality outlined in previous sections. Each process has its own virtual address space. Parts of this address space are mapped to physical memory through address translation. In order to build a memory allocator, we need to understand how the heap in particular is structured. Here we describe the memory layout of a process, focusing on the structure of the heap, within a Linux process. You’ll have to implement a simplified version of the heap in Pintos with the sbrk system call. The heap is a space of memory, continuous in the virtual address space of a process, with three bounds: The bottom of the heap. The top of the heap, known as the break. The break can be changed using brk and sbrk. The break marks the end of the mapped memory space. Above the break lies virtual addresses which have not b

Syscall implementation | CS 162 HW 4 Skip to main content Menu Expand (external link) Document Search Copy Copied CS 162 HW 4 Syscall implementation Table of contents Process memory Requesting memory from the operating system Determining the start of the heap Manipulating the segment break You are advised to begin by reading over the functions start_process and load in process.c . Consider what new initialization you must perform in these locations in order to support the heap functionality outlined in previous sections. Process memory Each process has its own virtual address space. Parts of t

Explore this link on the map →

saved by

related reading