Operating System Level Virtualization
- To create different and separated execution
environments for applications that are managed
concurrently.
- There is no virtual machine manager or hypervisor, and
the virtualization is done within a single operating
system.
- OS kernel allows for multiple isolated user space
instances.
- chroot mechanism in Unix systems. The chroot
operation changes the file system root directory for a
process and its children to a specific directory.
- The process and its children cannot have access to
other portions of the file system.
Programming language-level
virtualization
- To achieve ease of deployment of applications,
managed execution, and portability across different
platforms and operating systems.
- It consists of a virtual machine executing the byte code
of a program, which is the result of the compilation
process.
- Generally these virtual machines constitute a
simplification of the underlying hardware instruction set
and provide some high-level instructions that map
some of the features of the languages compiled for
them.
- Basic Combined Programming Language
- Both Java and the CLI are stack-based virtual
machines.
Application-level virtualization
- Such emulation is performed by a thin layer - a
program or an operating system component that is in
charge of executing the application.
- Interpretation - In this technique every
source instruction is interpreted by an emulator
for executing native ISA instructions, leading to
poor performance.
- Binary translation - In this technique every
source instruction is converted to native
instructions with equivalent functions. After a
block of instructions is translated, it is cached
and reused.
- SaaS utilizes application-level virtualization to
deploy the application