Overview
This lecture explains the concept of virtualization, showing how it allows multiple operating systems to run on a single physical device, and discusses its uses in development, compatibility, and resource efficiency.
Virtualization Basics
- Virtualization enables one physical computer to run multiple operating systems at the same time.
- Each virtualized operating system has its own CPU, memory, and network connection.
- Host-based virtualization means the main OS (host) runs additional virtual OSes (guests) on top of it.
- In enterprise settings, virtualization often occurs without a desktop interface, focusing on running many VMs on servers.
History and Technology
- Virtualization technology dates back to 1967 on IBM mainframes.
- Modern virtualization uses the same core concepts but is applied to current hardware and operating systems.
Uses of Virtual Machines (VMs)
- VMs are used for development, allowing safe sandboxed environments to test code.
- Snapshots can be taken at any time, enabling quick rollback if changes cause problems.
- Developers can test applications in environments that mirror production systems using VMs.
- Virtualization helps run older or incompatible operating systems for specific applications.
Advantages of Virtualization
- Switch between multiple OSes without rebooting the physical device.
- Run cross-platform VMs, such as Windows, Linux, and Mac OS, simultaneously on one computer.
- Launch and shut down VMs on demand as needed for specific applications.
- Saves time and physical resources by consolidating workloads onto a single device.
Key Terms & Definitions
- Virtualization — Running multiple operating systems on one physical device simultaneously.
- Virtual Machine (VM) — A software-based emulation of a computer running its own OS.
- Host-based Virtualization — Virtualization where the main operating system runs additional VMs.
- Sandboxing — Isolated environment within a VM for testing or development.
- Snapshot — A saved state of a VM configuration that can be reverted to if needed.
Action Items / Next Steps
- Review virtualization concepts and terminology.
- Practice creating, running, and managing VMs on your own system.