Midterm Study Flashcards
Study for the midterm Spring 2021
Draw Von Neumann’s architecture of a computer.
What are the five main categories of modern computer systems?
Personal Mobile Device (PMD)
Desktop Computing
Servers
Clusters/Warehouse Scale Computers
Embedded Computers
What is the primary task of an “operating system?”
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.
What are the two main characteristics of an OS?
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.
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?
LAN, WAN, MAN, PAN
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?
- Client-server
- Peer-to-peer
What is the difference between “emulation” and “virtualization?”
Emulation: 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: Virtualization allows a guest OS to run as an application on a host OS.
What is the difference between “full virtualization” and “para-virtualization?”
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.
What are the three types of “cloud computing?”
Private, public, hybrid
What are the three advantages of a “multiprocessor system” over a single processor?
- Increased throughput
- Lower cost than using a collection of single processors
- Reliability is higher, and the system is more fault-tolerant
What is the difference between “symmetric” and “asymmetric” multiprocessors?
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.
What are the five activities of “process management?”
- Creating and deleting both user and system processes
- Suspending and resuming processes
- Providing mechanisms for process synchronization
- Providing mechanisms for process communication
- Providing mechanims for deadlock handling
What is the difference between “program” and “process”?
A program is a collection of instructions and is a passive entity. A process is a program in execution and is an active entity.
What is a memory unit exposed to?
- A stream of addresses + read requests
- A stream of addresses + data and write requests
How long does one memory access take?
It takes many CPU cycles. AMAT= cache-hit-time+ miss-rate*miss-penalty
How long does one register access take?
It takes one clock cycle (or less)
What do we mean by “throughput of memory”?
Number of bytes accessed in a time unit (Bytes/sec)
What does “memory management” mean?
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)
What does memory management do?
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 tale 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.
What is meant by the performance difference between DRAM and CPU?
The throughput of DRAM is much smaller than what the CPU requires.
What is “memory hierarchy”?
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.
What is “locality of reference”?
When a reference is made to memory, the same location, or locations near that, will be referenced soon.
How could we overcome the performance difference?
By using memory hierarchy.
What is the effect of “low” locality of reference?
Low locality causes a high miss rate which forces the memory management to refer to slower parts of the hierarchy.
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?
50>2+miss_rate*100. miss_rate<0.48
What are the primary and secondary memory layers?
What are the four categories of memories in terms of “access-type”?
RAM, SAM, DASD, CAM
What is the “inclusion principle” in the context of the memory hierarchy?
Content of layer 𝑖 of the hierarchy has to exist in layer 𝑖 + 1.