Virtualization provides a way to run multiple operating systems simultaneously on the same physical system. In this video, you’ll learn about virtualization, sandboxing, developing software, legacy software use, and cross-platform virtualization.
With virtualization, you can have one physical device and run multiple operating systems on that same computer. For example, you might have a computer, like I do, that runs Mac OS, and you can run Windows 11 and Linux all at the same time on that same system. This means that you have a separate operating system, a separate CPU, dedicated memory, and a separate network connection for each of these virtualized operating systems.
If all of these different operating systems are virtualized on your desktop, then we refer to this as a host based virtualization. This means you’re running something like Mac OS as the primary operating system, and then virtualizing other operating systems on top of that.
In an enterprise environment, we tend to use a single computer that has multiple operating systems running on it in a virtualized form. There is no desktop to choose from. Instead, you have a single device that has multiple VMs running on that single computer.
And although virtualization has become very popular on our computers and our servers, this is a technology that we’ve been running since 1967 when it was first introduced on IBM mainframes. We’re using that same concept that we used back then to virtualize our modern operating systems on modern hardware.
There are a lot of things you can do with a virtualized operating system, or what we commonly refer to as a Virtual Machine or VM. For example, if you’re building your own applications, you might want to create a virtual machine that handles sandboxing. Sandboxing is an isolated environment that you can use during the development process to try out different aspects of code, or to run things in a different OS to see what the effect might be.
The benefit here, of course, is that you’re running this in a virtualized environment that is designed for testing. So if something doesn’t work properly or it even creates a problem with the operating system, the only thing that’s affected is that single virtual machine. And because most of these virtualized systems have ways to take snapshots of the configuration at any point in time, you can create a snapshot, make some changes to that virtual machine, and if those changes cause a problem, you can revert back to the previous snapshot in a matter of moments.
This also means we can create multiple virtual machines running multiple operating systems, and be able to run that code in each one of those VMs to see what the effect might be. This means developers can write their own code, put them into a virtual machine in a protected and secure environment that won’t affect anything if something happens to go wrong. And once the entire application has been written, they can put that code onto a test virtual machine that mirrors an actual configuration that runs in production. This means the developer can now run their test code in an environment that is very similar to what the end users will be using.
Sometimes virtualization is not about application development, but instead being able to support operating systems that we don’t normally use. For example, you may be running Windows 11 on your desktop, but you might have some applications that only run in Windows 10. One way that you can run both your Windows 11 desktop and the Windows 10 apps at the same time is through the use of virtualization.
That’s exactly what we’ve done here. I have a Windows 11 system that I’m running in one window and a Windows 10 system that I’m running in another. This allows me to switch back and forth between operating systems and run applications that may only run in one particular OS. This means I can switch back and forth between different operating systems, and run the application that works best in that particular version of the OS.
Here’s a better view of this. You can see that we are running simultaneously on this computer a Windows 11 Pro system and a Windows 10 Pro system, both at the same time, and I can switch back and forth between either of these at any time without having to reboot my system.
And of course, this doesn’t have to be all the same type of operating system. We could have cross-platform virtualization like the one you see here. So you might run Mac OS on your desktop, run a Windows VM, run a Linux VM, and run other types of operating systems, all on that same platform. You can also do this on demand. So if you need to run one particular application in the afternoon that only runs in Windows 11, you can start your Windows 11 virtual machine, run your application, and then shut it down.
You have complete control over which application you’re running in which operating system, and you don’t have to reboot just to be able to change the OS that you’re using. This is obviously saving time, because we don’t have to reboot or find another system just to run the application we need. And we’re also saving resources, because we’re able to run all of these different operating systems on one physical computer.
Here’s a better view of this multi-platform use of virtualization. I’m running this on my Mac OS desktop, and I’m running a native version of the Mac OS browser on the left side. On the right side, I’m running a Windows instance and Windows applications inside of that window.
And here in the middle is a window that’s running Linux, and I’m running Linux applications in that window. I’m able to move back and forth between any of these at any time. I’m able to start and stop different operating systems and use whatever application I happen to need at that time, regardless of what operating system it uses.