Notes/UNB/Year 4/Semester 1/CS3418/9-15-2023.md
2024-01-22 10:12:48 -04:00

1.6 KiB

Lecture Topic: Virtualization

Windows Linux
Executable Format .exe .bat .ps1 .sh ELF standard .out
Library Format .dll ELF .o .so

Executables tend to not be portable, on Linux usually due to differences in the flavor of Linux, and even on windows due to different platform architecture. Interoperability is not guaranteed.

The differences between simulation and emulation Simulation: getting the result Emulation: mimicking the behavior

Virtualization: Alternative to emulation and simulation: allows access to hardware by generating appropriate machine code

Why Virtualization?

  • Access to hardware
  • Safety, sandboxed, controlled environment
  • Multiple Users

Kinds of VMs

Type 1 virtual machine: manages the VMs directly, with no interaction with a base kernel Type 2 virtual machine: manages the VMs through interactions with the hardware with a main kernel

Process VM

  • One purpose functionality VM
  • Java VM as an example

OS VM

  • Virtual machine that emulates entire OS/machine functionality

Example VM stack

  • VirtualBox VM
  • VirtualBox VMM
  • Windows
  • Hyper-V
  • Hardware
Virtualbox Hyper-V
OS VM, Type 2 VM VMM, Type 1 VM
WSL Docker
Uses Hyper-V, Reuses system calls if possible Containers, minimal dependencies