Chapter 19 Flashcards
(42 cards)
What are the three types of traditional hypervisors?
Type 0: Hardware-based virtualization built into firmware. Type 1: Bare-metal hypervisor runs directly on hardware. Type 2: Hosted hypervisor runs on top of host operating system
When is dual-booting better than VMMs?
When need maximum performance for resource-intensive applications. When hardware doesn’t support virtualization. When testing low-level system modifications. When avoiding virtualization overhead is critical
When are VMMs better than dual-booting?
When need to run multiple OS simultaneously. When frequent switching between systems is needed. When want isolation without rebooting. When sharing resources between systems
What are four virtualization-like execution environments?
Containers (Docker): OS-level virtualization sharing kernel. Language VMs (JVM): execute bytecode in virtual machine. Application virtualization: sandbox applications from OS. Emulation: simulate different hardware architecture
How do these differ from true virtualization?
Don’t provide complete hardware abstraction. Share host kernel or runtime environment. Cannot run different OS types. Less isolation than full virtualization
Why can’t some CPUs implement trap-and-emulate virtualization?
Some privileged instructions fail silently instead of trapping. Guest OS instructions may not generate necessary exceptions. Hardware doesn’t provide sufficient virtualization support. No way to intercept all sensitive operations
What method can VMMs use without trap-and-emulate?
Binary translation: rewrite guest code to replace problematic instructions. Paravirtualization: modify guest OS to cooperate with hypervisor. Hardware-assisted virtualization with modern CPU extensions
What hardware assistance do modern CPUs provide for virtualization?
Extended page tables for memory virtualization. Hardware support for guest/host mode switching. I/O virtualization extensions. Interrupt virtualization and APIC virtualization
What is Docker?
Container platform that packages applications with dependencies. Provides OS-level virtualization using Linux namespaces and cgroups. Enables lightweight isolated application environments
What is Docker image?
Read-only template containing application code libraries and dependencies. Used to create Docker containers. Built in layers for efficient storage and sharing
What is Docker container?
Running instance of Docker image. Lightweight isolated environment sharing host kernel. Provides process and filesystem isolation
How suitable is traditional computer for scientific simulation?
Excellent - maximum performance no virtualization overhead. Direct hardware access for optimization. Best choice for CPU-intensive workloads
How suitable is Type-1 VMM for scientific simulation?
Good - low overhead close to native performance. Some virtualization overhead but minimal. Can provide isolation while maintaining performance
How suitable is Type-2 VMM for scientific simulation?
Fair - higher overhead due to host OS layer. Additional context switching and resource management. May impact performance-critical applications
How suitable is Docker container for scientific simulation?
Good - minimal overhead shares host kernel. Fast startup and resource efficiency. May lack some hardware access for specialized computing
How suitable is traditional computer for testing malicious programs?
Poor - no isolation potential system compromise. Malware can affect entire system. Requires separate dedicated machine for safety
How suitable is Type-1 VMM for testing malicious programs?
Excellent - strong isolation between guest and host. Can easily reset/restore clean state. Hardware-level separation provides security
How suitable is Type-2 VMM for testing malicious programs?
Good - provides isolation but host OS still vulnerable. VM escape attacks possible. Better than native but not ideal for malware analysis
How suitable is Docker container for testing malicious programs?
Poor - shares kernel with host limited isolation. Container escape possible. Not designed for malware containment
How suitable is traditional computer for video games?
Excellent - maximum performance and hardware access. No virtualization overhead for graphics/audio. Best gaming experience possible
How suitable is Type-1 VMM for video games?
Fair - performance overhead affects gaming experience. Limited graphics acceleration support. May not support all gaming hardware features
How suitable is Type-2 VMM for video games?
Poor - significant performance overhead. Graphics acceleration challenges. Input latency and compatibility issues
How suitable is Docker container for video games?
Poor - limited graphics and hardware access. Not designed for interactive applications. Performance and compatibility issues
How suitable is traditional computer for kernel testing?
Dangerous - kernel bugs can crash entire system. No isolation or protection. Requires separate dedicated hardware