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.

A

True.

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
Q

What is a cache hit/miss?

A

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
Q

What does a cache do?

A

Stores the most recently used instructions and data in high-speed memory for quick access.

27
Q

How much address space is there in a 32-bit environment?

A

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
Q

What is at the top-level of the memory hierarchy?

A

Registers.

29
Q

What are L1, L2 and L3 storage devices in a memory hierarchy?

A

Caches (consisting of static random access memory).

30
Q

What two main purposes does the operating system have?

A

To protect the hardware from runaway applications.

To provide applications with simple and uniform mechanisms for manipulating low-level hardware devices.

31
Q

What mechanism is used by a single CPU to give the impression that it can execute multiple processes concurrently?

A

Context switching.

32
Q

What part of the operating system is used to transition from one process to another.

A

The kernel.

33
Q

What is stored in the ROM?

A

The BIOS (basic input/output system), i.e. the start-up instructions.

34
Q

What is virtual memory?

A

An abstraction that provides the process with the illusion that it has exclusive use of the main memory.

35
Q

What six things does the virtual address space of a Linux process consist of?

A
  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.