Getting Started with Virtual Machines
1 Virtual Machines

Virtual machines (VMs) allow you to run an operating system within another operating system. This is useful for testing, development, and learning without affecting your main system.
2 What is a Virtual Machine?
A virtual machine emulates a computer system. It runs on a host operating system and behaves like a separate computer, called the guest.

3 Understanding Hypervisors
A hypervisor is software that creates and manages virtual machines. It sits between the host OS and the guest OS.
There are two types:
- Type 1 (Bare Metal): Runs directly on hardware
- Type 2 (Hosted): Runs on top of a host OS (e.g., VirtualBox)
4 Para-Virtualization
Para-virtualization allows the guest OS to be aware of the virtual environment and interact more efficiently with the hypervisor. It improves performance by reducing the overhead of full virtualization.
5 Creating a Fedora VM
5.1 Windows with VirtualBox
- Download and install VirtualBox.
- Download Fedora Workstation 42 ISO from Fedora Website.
- Open VirtualBox and click New.
- Name your VM and select Linux > Fedora (64-bit).
- Allocate memory (e.g., 8192 MB or higher).
- Create a virtual hard disk (e.g., 40 GB).
- Start the VM and select the Fedora ISO.
- Follow the Fedora installation steps.
5.2 macOS with VirtualBox
- Install VirtualBox for macOS.
- Follow the same steps as for Windows.
5.3 Linux with QEMU/KVM
Install QEMU and virt-manager:
sudo apt install qemu-kvm libvirt-daemon-system virt-managerDownload Fedora Workstation 42 ISO.
Open Virtual Machine Manager.
Click Create a new virtual machine.
Choose Local install media and select the Fedora ISO.
Allocate memory and disk space.
Complete the installation.
6 Summary
Virtual machines are powerful tools for learning and experimentation. Understanding how they work and how to set them up on different platforms will help you become a more versatile developer.