practice exam

0.0(0)
Studied by 12 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/51

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 3:29 AM on 12/17/24
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

52 Terms

1
New cards

sqrt() function

A function from the math library used to calculate the square root.

2
New cards

Program translation process

The stages through which a program goes before it is executed including preprocessing, compiling, assembling, and linking.

3
New cards

Header files

Files that typically contain type declarations and function declarations but should not contain function definitions or variable definitions.

4
New cards

Build process

Stages and tools involved in converting source code into executable programs, including preprocessing, compiling, assembling, and linking.

5
New cards

Return address

An address in memory where a function should return after execution.

6
New cards

Bit manipulation

Operations that are performed directly on the bits of data, which are commonly used in low-level programming.

7
New cards

Big endian

A type of byte order in which the most significant byte is stored at the smallest memory address.

8
New cards

Little endian

A type of byte order in which the least significant byte is stored at the smallest memory address.

9
New cards

Function definitions

Implementations of functions that include the code that gets executed when the function is called.

10
New cards

Compulsory misses

Cache misses that occur when data is accessed for the first time.

11
New cards

Conflict misses

Cache misses that occur when multiple data items are mapped to the same cache line.

12
New cards

Cache line

The smallest unit of data that can be transferred to and from cache.

13
New cards

Stack frame

A section of memory that contains all the information needed for a single invocation of a function.

14
New cards

Dynamically allocated memory

Memory that is allocated at runtime using functions like malloc or calloc.

15
New cards

Inline assembly

Assembly language instructions that are embedded within a high-level language such as C.

16
New cards

Data locality

The principle that programs often access a relatively small part of the memory, making it advantageous to keep that data stored close to the processor.

17
New cards

Segmented memory model

A memory management scheme that divides memory into different segments based on function or usage.

18
New cards

Temporary vs spatial locality

Temporal locality refers to using the same data or resources within a short time span, while spatial locality refers to accessing data locations that are close in memory.

19
New cards

Kernel mode

A privileged mode of operation for the CPU that allows it to execute any instruction and access any memory.

20
New cards

Context switch

The procedure of storing the state of a process so that it can be resumed later, enabling multitasking.

21
New cards

Interrupt handling

The procedure for managing interrupts by saving the context, processing the interrupt, and restoring the context.

22
New cards

Variable Declarations

Statements that define a variable's name and type, allowing the variable to be used within a program.

23
New cards

Assembly language

A low-level programming language that is closely related to machine code and varies only slightly from it.

24
New cards

Linked list

A linear collection of data elements where each element points to the next, allowing for dynamic memory management.

25
New cards

Volatile variables

Variables that can be changed unexpectedly, often used in multithreaded environments or in hardware interaction.

26
New cards

Memory hierarchy

A structure that uses various levels of memory types (caches, main memory, disk storage) to optimize performance based on speed and size.

27
New cards

Branch instruction

An instruction that alters the control flow of a program based on certain conditions.

28
New cards

High latency

A delay in communication or processing that can occur in various levels of memory and cache.

29
New cards

Variable scoping

The visibility and lifetime of a variable within different parts of a program.

30
New cards

Logical operator

An operator used to perform logical operations, such as AND, OR, and NOT in programming.

31
New cards

Make utility

A tool that automatically builds executable programs and libraries from source code by reading files called Makefiles.

32
New cards

Preprocessing

The first stage in the program translation process that handles macros and includes files.

33
New cards

Compiling

The stage in the program translation process that translates source code into assembly language.

34
New cards

Assembling

The conversion process where assembly code is turned into machine code.

35
New cards

Linking

The final stage of program translation that combines the code with necessary libraries and resolves references.

36
New cards

Type Declarations

Information in header files that defines data types, like structs and typedefs.

37
New cards

Function Declarations

Prototypes that indicate a function's name, return type, and parameters in header files.

38
New cards

Global Variables

Variables that should not be defined in header files due to potential conflicts and linkage issues.

39
New cards

Pointers

Variables in C that store memory addresses of other variables, allowing direct memory manipulation.

40
New cards

Bit Shifting

Operations that move bits left or right within a binary number, effectively multiplying or dividing it.

41
New cards

Condition Flags

Flags set by operations such as comparison in assembly language which affect subsequent jump instructions.

42
New cards

Cache Memory Hierarchy

A system of cache levels, where L1 is the fastest and smallest, and L2 or L3 can be larger and slower.

43
New cards

Direct Mapped Cache

A caching method where each memory block maps to a single cache line, potentially causing conflict misses.

44
New cards

Fully Associative Cache

A caching method where any block can go into any line, reducing an occurrence of misses but increasing latencies.

45
New cards

Set Associative Cache

A compromise between direct-mapped and fully associative caches, allowing multiple lines for each block.

46
New cards

Stack Frame

A memory structure created for each function call, containing local variables, return address, and base pointer.

47
New cards

Heap Memory

A region of memory used for dynamic memory allocation, often managed via functions like malloc.

48
New cards

Cache Miss

An event where the required data is not found in the cache, leading to slower data retrieval.

49
New cards

Debugging

The process of identifying and removing errors or bugs in software, utilizing tools like Valgrind and debuggers.

50
New cards

Endianness Testing

The method of determining how byte order is represented in memory, relevant for data processing.

51
New cards

Binary to Hexadecimal Conversion

The process of converting binary numbers into hexadecimal by grouping digits in sets of four.

52
New cards

Toggle Bit Function

A routine that shifts