Low level stuff & Terminology Flashcards
What is ABI abbreviation?
Application binary interface.
What is ABI?
And interface between two binary programs or modules.
How is a C program organized in memory?
It’s organized in segments:
Text segment, Data segment, Heap segment, Stack segment.
What does the text segment contain?
The text segment contains executable code (also called code segment).
What are the two subsections of the data segment?
The two subsections are initialized data and uninitialized data.
How is initialized data segment divided?
Into two parts write only and read only.
What does the initialized data segment contain?
It contains both static and global data that is initialized with non-zero values.
What is uninitialized data segment also called?
BSS (Block started by symbol) Segment.
What does the uninitialized data segment have?
All global and static variables that are initialized to zero or do not have explicit initialization to source code.
What are sections?
Sections contain information needed during the linking time (Linker).
What are segments?
Segments contain information needed during runtime (OS).
What is big endian?
Is an order where the most significant value in the sequence is stored first at the lowest storage address.
What is little endian?
Is an order where the most significant value in the sequence is stored last at the highest storage address.
Where is the heap segment?
The heap are begins at the end of the bss segment and grows to larger addresses from there.
What is the purpose of a programming language?
To help express ideas directly in code.