Purdue CS 252 Midterm Questions with Verified Solutions
Purdue CS 252 Midterm Questions with Verified Solutions What are the different types of memory sections? Text Data BSS Heap Stack What is stored in text? Instructions that run the program. What is stored in Data? Initialized global variables What is stored in BSS? Uninitialized global variables (initialized to 0 by default) What is stored in the heap? Memory that was returned by malloc/new. It grows as you request more. [grows upwards] What is stored in the stack? Local variables and return addresses. [grows downward] What are dynamic libraries? They are libraries shared with other processes. Each have their own text, data, bss. What is a program? File in a special format that contains all necessary information to load and application and make it run. What are some examples of executable file formats? ELF - Executable Link File (Linux) COFF - Common Object File Format (Windows) What are the different steps to build a program? Editor, C preprocessor, Compiler, Optimizer, Assembler, Linker, Loader What does the preprocessor do? Expands macros like #define and #include to generate a .i file. What does the compiler do? Compiles the .i file, which generates assembly code into a .s file What does the assembler do? Assembles the .s file into an object file .o What does the linker do? Connect known libraries to the object file. Sets most of the addresses for objects and files. Won't know about shared objects, so will be UNDEF. What does the loader (runtime linker) do? It takes the executable file, and allocated memory for the sections. Also fills in UNDEF sections. WIll finally jump into entry point. What is the entry point of a program? _start which will initialize values then jump into main. When main is done, it will call _exit. How do you request more memory from the OS? Program calls malloc/new, then the malloc library will call sbrk(s) to get the memory from the heap [expands it]. What kind of free list did we use in the malloc lab? Segregated free list, which was a collection of free lists for various sizes. What
Written for
- Institution
- Purdue CS 252
- Course
- Purdue CS 252
Document information
- Uploaded on
- January 29, 2024
- Number of pages
- 19
- Written in
- 2023/2024
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
-
purdue cs 252 midterm questions with verified solu
Also available in package deal