Chapter 1 - A Tour of Computer Systems Flashcards

1
Q

What is the difference between a text file and a binary file?

A

Text files consist exclusively of ASCII characters. All other files are binary files.

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

Who designed the C programming language and when?

A

C was developed by Dennis Ritchie of Bell Labs around 1969-1973.

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

What is responsible for the translation of a source file to an object file?

A

The translation is performed by the compiler driver.

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

What four stages does the compilation system consist of?

A

Preprocessing, compiler, assembler and linker.

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

What is the preprocessor (cpp) responsible for?

A

For modifying the program according to directives that begin with the # character.

The preprocessor typically generates a .i file.

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

What is the compiler (cc1) responsible for?

A

Translating a .i text file into a text file with the .s suffix, which contains an assembly language program.

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

What is the assembler (as) responsible for?

A

Translating a .s file containing assembly language instructions into machine language instructions, stored as a .o file.

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

What is the linker (ld) responsible for?

A

Merging library object files with a given object (.o) file to produce an executable.

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

Fill in the blank:

______ are electrical conduits that carry bytes of information between components.

A

Buses are electrical conduits that carry bytes of information between components.

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

What is the term given to the size of data transferred along a bus?

A

A “word”.

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

Fill in the blank:

The number of _____ in a _____ is a fundamental system parameter.

A

The number of bytes in a word is a fundamental system parameter.

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

What are standard word sizes for machines today?

A

4 bytes (32-bit) or 8 bytes (64-bit).

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

What are I/O devices?

A

The systems connection to the external world (e.g. keyboard, mouse, etc.).

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

In what two ways are I/O devices connected to the I/O bus?

A

By an adapter or a controller.

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

What is the difference between an adapter and a controller?

A

A controller is a chip sets in the device itself or on the system’s motherboard.

An adapter is a card that plugs into a slot on the motherboard.

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

What is the main memory?

A

A temporary storage device that holds a program and the data it manipulates while the processor is executing the program.

17
Q

Fill in the blank:

Main memory consists of a collection of ______ random access memory (____) chips.

A

Main memory consists of a collection of dynamic random access memory (DRAM) chips.

18
Q

What component is responsible for interpreting instructions stored in main memory?

A

The central processing unit (CPU).

19
Q

Fill in the blanks:

The _______ _______ is a processor _______ that indicates where a computer is in its program sequence.

A

The program counter is a processor register that indicates where a computer is in its program sequence.

20
Q

True or false? The entire time the system is awake, a processor repeatedly executes the instruction pointed at by the program counter and updates the program counter to point to the next instruction.

21
Q

What computer component does PC stand for?

A

Program counter.

22
Q

What is the instruction set architecture?

A

A simple instruction execution model that a processor appears to operate according to.

23
Q

What does ISA stand for?

A

Instruction set architecture.

24
Q

Fill in the blanks:

The operations the processor performs revolves around the ____ _______, the ______ ____ and the ________ ____ ____.

A

The operations the processor performs revolves around the main memory, the register file and the arithmetic logic unit.

25
What is a cache hit/miss?
A cache hit is if the processor is able to find its data in cache memory. A cache miss is if the CPU tries to find something in cache and it's not there.
26
What does a cache do?
Stores the most recently used instructions and data in high-speed memory for quick access.
27
How much address space is there in a 32-bit environment?
In 32-bit protected mode, a task or program can address a linear space up to 4GB. With extended physical addressing, a total of 64 GB could be addressed.
28
What is at the top-level of the memory hierarchy?
Registers.
29
What are L1, L2 and L3 storage devices in a memory hierarchy?
Caches (consisting of static random access memory).
30
What two main purposes does the operating system have?
To protect the hardware from runaway applications. To provide applications with simple and uniform mechanisms for manipulating low-level hardware devices.
31
What mechanism is used by a single CPU to give the impression that it can execute multiple processes concurrently?
Context switching.
32
What part of the operating system is used to transition from one process to another.
The kernel.
33
What is stored in the ROM?
The BIOS (basic input/output system), i.e. the start-up instructions.
34
What is virtual memory?
An abstraction that provides the process with the illusion that it has exclusive use of the main memory.
35
What six things does the virtual address space of a Linux process consist of?
1. Read-only code and data. 2. Read/write data. 3. Run-time heap (dynamic). 4. A memory-mapped region for shared libraries. 5. User stack (created at run-time). 6. The kernel virtual memory.