6 Taxonomy of Virtualization + Process Execution Virtualization
Hello students,
In our last lecture we saw that for any type of virtualization, there are three basic components namely the host, virtualization layer and the guest.
In this lecture we have bird's view of taxonomy of Virtualization (classification into categories and types of Virtualization) .
Virtualization is emulating some real thing. In our last lecture, we saw how an electric extension board emulates a live electric point. In computers, that real thing which we want to emulate can be a hard disk, or a machine or a operating system etc.
Emulating a hard disk, would mean, emulate as if I have my own file system, folders. I should be able to save files in my folder. My emulation copy is private to me and no one else can access it.
When we share our desktop to somebody through a software like AnyDesk, it is an emulation of what's happening on the real desktop, onto somebody's remote screen. This is one type of emulation/virtualization example. In specific, this is called Desktop Virtualization.
In a machine, we have processor, memory, storage, programs, operating system. We also have machines that are part of networks. We can emulate each of these using some technique.
In this lecture, we look into techniques used to emulate
- Storage emulation (eg. SAN)
- Network emulation (eg. VLAN)
- Desktop emulation (eg. desktop sharing)
- Application server emulation (eg load balancer)
The last type of emulation is execution emulation. It focusses on emulating all your program processes running in your memory. These are categorized into two types namely system level processes and application processes.
Application processes examples are your Office word application but a system level process example is your operating system kernel which has programs to delete everything on your computer. If a hacker gets access to your system level processes, it can destruct/obstruct all your computer resources.
Application processes depend on System processes to do system level tasks and not vice versa.
In this lecture, we deep dive Process emulation only.
As we know our programs are made up of processes. A word application that runs on your desktop is an example of application process.
We deep dive into three types of process level emulation, namely
- Operating system virtualization
- (eg. Container softwares such as dockers, kubernetes are examples of operating system virtualization, where underlying operating system is shared with all containers that contains some running softwares)
- Programming language virtualization
- (eg. "java" command that we use in our labs utilizes the underlying java runtime program to execute ".class" files)
- Application virtualization
- (eg. .net application running in different operating system environment such as linux)
Thank you
Comments
Post a Comment