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
Q

Locks

A

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
Q

Threads

A

Virtualizes a process so that multiple programs can share CPU.

26
Q

yield()

A

Allows kernel to suspend the current thread and resume another

27
Q

Condition variables

A

Waits for an event and notified when it occurs.

28
Q

Preemption

A

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
Q

Virtual Machine

A

Mechanism to manage complexity in computer system; partitions the design of a system into layers

30
Q

Interface

A

Communication barrier between 2 boundaries; is linear and has hierarchal relationship; allows decoupling of computer design tasks

31
Q

What are the disadvantages for interfaces?

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

Virtualization

A

Removes constraints imposed by system interfaces and increases flexibility

33
Q

What are the benefits of virtualization?

A

Isolation, flexibility, portability, security

34
Q

Application Binary Interface

A

Instruction Set Architecture + system calls

35
Q

Application Programming Interface

A

User ISA + library calls

36
Q

Process Virtual Machines

A

Different guest and host ISA

37
Q

Classic System VM

A

All guest and host software uses the same ISA

38
Q

Hosted System VM

A

Virtualizing software built on top of existing OS

39
Q

Whole System VM

A

Different ISAs for guest and host

40
Q

How to improve performance?

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

What are the characteristics of conventional high performance computing machine?

A

Computer nodes are high-end processors; networks are specialized and high performance; storage are RAID disk arrays

42
Q

What are the characteristics of typical high performance computing operations?

A

Long-lived processes, uses spatial locality, holds all data in memory, high-bandwidth communication

43
Q

What are the strength of typical high performance computing operations?

A

High utilization of resources and suitable for scientific applications

44
Q

What are high performance computing fault tolerance techniques?

A

Checkpoints and restoring after failure.