Papers for I/O Management, Virtualization, DFS, RPC Flashcards
According to Goldberg, what are the three types of instructions?
- Privileged - trap in user mode, but not in root
- Control sensitive instructions - instructions that attempt to change the configuration of resources in the system
- Behavior sensitive instructions - instructions whose behavior depends on the configuration of the system
What is a hybrid virtual machine?
Instructions are interpreted rather than directly executed
What are Goldberg’s theorems for VMMs?
- a VMM may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions
- a computer is recursively virtualizable if it is a) virtualizable and b) a VMM without any timing dependencies can be constructed for it
- An HVM monitor may be constructed for any machine in which the set of user sensitive instructions are a subset of the set of privileged instructions
Give a brief history of VMs
VMs were big in the 1960s when hardware was expensive and OSes could not run multiple programs. In the 80s and 90s, this changed and VMs were phased out. Around 2005, VMs became popular again
What was responsible for the revival of VMs?
Cheap hardware meant that most machines were underutilized and had high space/management overhead. Increased functionality to OSes makes them more vulnerable
What are the pros of VMs?
- Can migrate VMs easily
- Can checkpoint / restart
- Decouple hardware and software
- Easy to isolate VMs
- Run legacy software
What are the challenges with shadow page tables and how do you solve them?
- The Guest OS is the one who knows best which pages should be swapped to memory, but VMM has no insight ==> balloon process
- Many VMs on single machine have memory redundancies ==> VMM can have them all point to same page table
What were some of the observations that influenced the design of the Sprite File System?
- Short file accesses
- Mostly reads
- 50% of data is deleted within 5 minutes of creation
- File sharing is rare
What are the main rules for the Sprite File System?
- Cache with write-back (write-back to server all the blocks that have not been modified in the last 30 seconds)
- When a second client opens a file, the server asks the first one to send it all its dirty blocks
- Directories are not cached
- On concurrent writes, disable caching
What do clients in the Sprite File System need to keep track of?
cache (overall yes/no)
cached blocks
timer for each dirty block
version number
What do servers in the Sprite File System need to keep track of?
readers, writer, version
What are the two main features of the sprite file system
- guarantees accurate view of all files at any given time
2. dynamically sized cache