Overview
This lecture introduces virtualization, explaining how a single physical computer can run multiple operating systems simultaneously and its benefits for users and developers.
Virtualization Basics
- Virtualization allows multiple operating systems (OS) to run on a single physical computer.
- Each virtualized OS operates as if it has its own CPU, memory, and network connection.
- Host-based virtualization runs secondary OSs on top of a primary (host) OS.
- Enterprise environments often use a single device running multiple virtual machines (VMs) without a primary desktop interface.
- Virtualization technology dates back to IBM mainframes in 1967.
Uses and Benefits of Virtual Machines (VMs)
- VMs are used to create sandboxed environments for application development and testing.
- Sandboxing isolates test code, preventing impact on the host OS if something goes wrong.
- Snapshots allow saving and reverting VM configurations quickly to a previous state.
- Multiple VMs can run different or the same OSs to test code compatibility and behavior.
- Developers use VMs to mirror production environments for realistic application testing.
- VMs support running legacy applications or OSs not natively compatible with the host machine.
Practical Scenarios and Examples
- Users can operate Windows 10 apps on a Windows 11 system using virtualization.
- Cross-platform virtualization allows running Mac OS, Windows, and Linux VMs on one device.
- Users can switch between OSs and applications without rebooting the physical computer.
- Virtualization saves time and computing resources by consolidating multiple OSs on one device.
Key Terms & Definitions
- Virtualization — running multiple operating systems on a single physical machine simultaneously.
- Virtual Machine (VM) — an emulated computer running an OS virtually within a host system.
- Host-based Virtualization — running additional OSs on top of a primary desktop OS.
- Sandboxing — isolating a VM for testing or development to prevent affecting the main system.
- Snapshot — a saved state of a VM that can be reverted to if needed.
Action Items / Next Steps
- Review key virtualization concepts and their practical applications.
- Experiment with setting up and using virtual machines if possible.