Low level stuff & Terminology Flashcards

1
Q

What is ABI abbreviation?

A

Application binary interface.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is ABI?

A

And interface between two binary programs or modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How is a C program organized in memory?

A

It’s organized in segments:

Text segment, Data segment, Heap segment, Stack segment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the text segment contain?

A

The text segment contains executable code (also called code segment).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the two subsections of the data segment?

A

The two subsections are initialized data and uninitialized data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How is initialized data segment divided?

A

Into two parts write only and read only.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does the initialized data segment contain?

A

It contains both static and global data that is initialized with non-zero values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is uninitialized data segment also called?

A

BSS (Block started by symbol) Segment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the uninitialized data segment have?

A

All global and static variables that are initialized to zero or do not have explicit initialization to source code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are sections?

A

Sections contain information needed during the linking time (Linker).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are segments?

A

Segments contain information needed during runtime (OS).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is big endian?

A

Is an order where the most significant value in the sequence is stored first at the lowest storage address.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is little endian?

A

Is an order where the most significant value in the sequence is stored last at the highest storage address.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Where is the heap segment?

A

The heap are begins at the end of the bss segment and grows to larger addresses from there.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the purpose of a programming language?

A

To help express ideas directly in code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the two important principles in C++?

A

1) Leave no room for a lower-level language

2) What you don’t use you don’t pay for (Zero overhead principle)

17
Q

What programming styles (paradigm) does C++ support?

A

1) Procedural programming
2) Data abstraction
3) Object-oriented programming
4) Generic programming

18
Q

What is procedural programming?

A

Programming focused on processing and the design of suitable data structures.

19
Q

What is data abstraction programming style?

A

Programming focused on the design of interfaces, hiding implementation details in general and representations in particular.

20
Q

What is object oriented programming style?

A

This is programming focused on the design, implementation, and use of class hierarchies.

21
Q

What does class hierarchies provide?

A

1) Run-time polymorphism

2) Encapsulation

22
Q

What is generic programming style?

A

Programming focused on the design, implementation, and use of general algorithms.

23
Q

What is the support for generic programming in C++?

A

Templates

24
Q

What does templates provide?

A

They provide compile-time polymorphism.

25
Q

What does system programming mean?

A

System programming is the creation of software that is used by other software or the software has limitation on resources it can use or both.

26
Q

What is CPU scheduling?

A

Process that decides which process will use the CPU.

27
Q

What is burst time?

A

The time required for a process execution. Goes from running state to completion stat.e

27
Q

What is burst time?

A

The time required for a process execution. Goes from running state to completion stat.e

28
Q

What is Flynn’s taxonomy?

A

Is a classification of computer architectures.

29
Q

What are the four classifications in Flynn’s taxonomy?

A

1) Single instruction stream, single data stream (SISD)
2) Single instruction stream, multiple data stream (SIMD)
3) Multiple instruction stream, single data stream (MISD)
4) Multiple instruction stream, multiple data stream (MIMD)