Long Exam 1 - Operating Systems Flashcards

1
Q

Complexity

A

Limits what can be built; causes unforeseen issues; mitigated by modularity and abstraction

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

System

A

A set of interconnected components with expected behavior observed at the interface with its environment

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

Modularity

A

Easier to reason about, manage, change, and improve; reduce fate-sharing; implements divide and conquer, independent, interchangeable, and reusable

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

Abstraction

A

Specify interface without specifying detailed implementation, decreases number of connection between modules; formulating generalized ideas or concepts by extracting common qualities and hiding their detailed implementation

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

Client-Server Model

A

Clear separation between a process that provide service and a process that need service over a network

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

Remote Procedure Call

A

A form of Inter-Process Communication which allows a process to call another process residing on another machine; high bandwidth and low propagation delay; design for local networking

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

Virtual Memory

A

Abstraction of main memory to allow us to manage memory more efficiently and with fewer errors; provides each process with a large, uniform, and private address space

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

Which components of a machine interacts in a virtual memory?

A

Hardware exceptions, hardware address translation, main memory, disk files, kernel software

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

What are the capabilities of a virtual memory?

A

Uses main memory efficiently by treating it as a cache for an address space stored on disk, keeping only the active areas in main memory, and transferring data back and forth between disk and memory; simplifies memory management by providing each process with a uniform address space; protects the address space of each process from corruption by other processes

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

What are the virtual memory states of pages?

A

Unallocated, Cached, and Uncached

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

Page tables

A

Determines if a virtual page is cached in DRAM; if yes, determine which physical page; if miss, the system must determine where the virtual page is on the disk, select a victim page in physical memory, and swap with virtual page from disk to DRAM

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

Operating System

A

Enforce modularity on a single system

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

What are the conditions in an operating system?

A
  1. Programs shouldn’t be able to refer to each other’s memory
  2. Programs should be able to communicate
  3. Programs should be able to share a CPU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Extended Instruction Pointer

A

Used to track the address

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

Memory Management Unit

A

Translate virtual address to physical address; gives illusion of large address space; dedicated to a single process; supports both virtual address translation and memory prediction

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

Naive Method

A

Store every mapping, virtual memory act as an index into the table

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

Space-Efficient Mapping

A

Map to pages in memory

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

Page Table Entries

A

Present Bit (P) - Is the page in DRAM?
Read/Write Bit (R/W) - Is the program allowed to write to the address?
User/Supervisor Bit (U/S) - Does the program have access to this address?

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

What are the benefits of naming?

A

Retrieval, sharing, user-friendliness, addressing, access control, indirection

19
Q

What are the components of naming schemes?

A

Namespaces, set of values, and look-up algorithm

20
Q

What is Domain Name Server?

A

DNS maps hostnames to IP addresses as routers only operate on IP addresses and not hostnames. This provides user-friendliness, load balancing, single values can have multiple names, and mappings can also change over time.

21
Q

Describe the DNS algorithm.

A

Divide names into hierarchy, each zone contains its own mappings. Send request to root, which delegates down the tree.

22
Q

Bounded Buffer

A

Stores up to N messages. Allow programs to communicate but tricky to implement due to concurrency.

23
Q

Atomic Actions

A

Effectively happens all at once, all occurs or nothing at all

24
Locks
Allow only one CPU to be inside a piece of code at a time, allows to implement atomic actions. May cause race conditions, deadlocks, and performance issues.
25
Threads
Virtualizes a process so that multiple programs can share CPU.
26
yield()
Allows kernel to suspend the current thread and resume another
27
Condition variables
Waits for an event and notified when it occurs.
28
Preemption
Forces a thread to be interrupted to remove reliance on programmers correctly using yield(). Requires a special interrupt and hardware support to disable other interrupts.
29
Virtual Machine
Mechanism to manage complexity in computer system; partitions the design of a system into layers
30
Interface
Communication barrier between 2 boundaries; is linear and has hierarchal relationship; allows decoupling of computer design tasks
31
What are the disadvantages for interfaces?
1. Software for one ISA will not run on hardware with a different ISA 2. Binaries may not be optimized for the platform they run on 3. Innovation may be inhibited by a fixed ISA 4. Application software cannot directly exploit microprocessor implementation features
32
Virtualization
Removes constraints imposed by system interfaces and increases flexibility
33
What are the benefits of virtualization?
Isolation, flexibility, portability, security
34
Application Binary Interface
Instruction Set Architecture + system calls
35
Application Programming Interface
User ISA + library calls
36
Process Virtual Machines
Different guest and host ISA
37
Classic System VM
All guest and host software uses the same ISA
38
Hosted System VM
Virtualizing software built on top of existing OS
39
Whole System VM
Different ISAs for guest and host
40
How to improve performance?
1. Measure system to find the bottleneck by comparing it to system model 2. Relax the bottleneck (batch requests, caching, exploit concurrency, exploit parallelism)
41
What are the characteristics of conventional high performance computing machine?
Computer nodes are high-end processors; networks are specialized and high performance; storage are RAID disk arrays
42
What are the characteristics of typical high performance computing operations?
Long-lived processes, uses spatial locality, holds all data in memory, high-bandwidth communication
43
What are the strength of typical high performance computing operations?
High utilization of resources and suitable for scientific applications
44
What are high performance computing fault tolerance techniques?
Checkpoints and restoring after failure.