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

48 lines
1.6 KiB
Markdown

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 |