2024-01-22 10:12:47
This commit is contained in:
47
UNB/Year 4/Semester 1/CS3418/9-15-2023.md
Normal file
47
UNB/Year 4/Semester 1/CS3418/9-15-2023.md
Normal file
@@ -0,0 +1,47 @@
|
||||
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 |
|
Reference in New Issue
Block a user