Midterm Review 1-25 Flashcards

1
Q

What are the five main categories of modern computer systems?

A
Personal Mobile Device (PMD)
Desktop Computing
Servers
Clusters / Warehouse Scale Computers
Embedded Computers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the primary task of an operating system?

A

Answer 1: A program that acts as an intermediary between a user of a computer and the computer hardware.

Answer 2: OS is a resource allocator, which manages all resources, decides between conflicting requests for efficient and fair resource use, and controls programs within allocated space.

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

What are the two main characteristics of an OS?

A

Efficiency and convenience.

Efficiency means that the OS can manage multiple processes and allocate memory to these processes fairly and efficiently. For example, if one process is trying to hug a large number of frames, the other processes should not be denied active frames. If a process is not using its frame or CPU assets, that process should be deactivated. In servers, efficiency is of main importance.

Convenience is a factor that a user of the system expects from the OS. Allowing a user to access programs and applications easily is an example. In mobile devices, convenience is a major factor.

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

For networked distributed computing, the networks are categorized into four groups in terms of the distance between members. What are these four types of networks?

A

LAN: local area
WAN: wide area
MAN: metropolitan area
PAN: personal area

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

Computing environments, in terms of the role of connected members of a network, are divided into two types. What are these two types of networks?

A

Client-server

Peer-to-peer

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

What is the difference between “emulation” and “virtualization?”

A

Emulation is used when the source CPU type (physically present) is different from the target CPU type (the CPU that a program is compiled for). For example, Apple desktops switched from IBM CPU to Intel CPU, and old software used Rosetta to run on emulated IBM CPU.

Virtualization allows a guest OS to run as an application on a host OS.

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

What is the difference between “full virtualization” and “para-virtualization?”

A

In full virtualization, the guest is an original OS and wants to manage the memory, perform protection, etc. In para-virtualization, guest OS is designed to run as a guest in a virtual environment and is aware of other operating systems, and knows its limitations.

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

What are the three types of “cloud computing?”

A

Private, public, hybrid

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

What are the three advantages of a “multiprocessor system” over a single processor?

A

1- Increased throughput
2- Lower cost than using a collection of single processors
3- Reliability is higher, and the system is more fault-tolerant

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

What is the difference between “symmetric” and “asymmetric” multiprocessors?

A
Asymmetric multiprocessor is a CPU scheduling method in which all scheduling decisions, I/O processing, and other system activities are handled by a single processor — the master server. The other processors execute only user code. This is a simple method because only one core accesses the system data structures, reducing the need for data sharing. The downfall of this approach is that the master server becomes a potential bottleneck where overall system performance may be reduced.
Symmetric multiprocessor (SMT) is the standard approach for supporting multiprocessors where each processor is self-scheduling.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the five activities of “process management?”

A

1- Creating and deleting both user and system processes
2- Suspending and resuming processes
3- Providing mechanisms for process synchronization
4 -Providing mechanisms for process communication
5- Providing mechanisms for deadlock handling

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

What is the difference between “program” and “process”?

A

A program is a collection of instructions and is a passive entity. A process is a program in execution and is an active entity.

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

Draw Von Neumann’s architecture of a computer.

A

sketch!

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

What is a memory unit exposed to?

A

1- A stream of addresses + read requests

2- A stream of addresses + data and write requests

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

How long does one memory access take?

A

It takes many CPU cycles.

AMAT= cache-hit-time+ miss-rate*miss-penalty

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

How long does one register access take?

A

One clock cycle (or less)

17
Q

What do we mean by “throughput of memory”?

A

Number of bytes accessed in a time unit (Bytes/sec)

18
Q

What does “memory management” mean?

A

A system that determines what is in memory and when. It is a system that optimizes the CPU’s utilization and the overall computer’s response to users.

(this question says what MM has to do, but we don’t say how it will be done)

19
Q

What does memory management do?

A

This is how MM should implement its goal: It keeps track of which parts of the memory are currently being used. It means there is, for example, a table showing which frames are occupied by what pages. It decides which processes (or parts thereof) and data to move into and out of the memory. It means that the table has a column for the process IDs showing what pages each process owns. It allocates and deallocates the memory space as needed. It means that the table should be updated as the processes come in or go out.

20
Q

What is meant by the performance difference between DRAM and CPU?

A

The throughput of DRAM is much smaller than what the CPU requires.

21
Q

What is “memory hierarchy”?

A

Creating a pyramid with slow, cheap, and large memory at the bottom and placing fast, expensive, and small memories at the top of the pyramid.

22
Q

What is “locality of reference”?

A

When a reference is made to memory, the same location, or locations near that, will be referenced soon.

23
Q

How could we overcome the performance difference?

A

By using memory hierarchy.

24
Q

What is the effect of “low” locality of reference?

A

Low locality causes a high miss rate which forces the memory management to refer to slower parts of the hierarchy.

25
Q

Suppose reading one word from the main memory takes 50 clocks, and reading one block of words from memory would take 100 clocks. Also, assume that reading one word from cache would take 2clocks. What should be the maximum cache “miss rate” for this memory system to worth having the cache rather than directly accessing the main memory?

A

50>2+miss_rate*100. miss_rate<0.48