We've seen an enormous boom [in]
The use of Cloud services because I can I order my processor cycles [on-demand]
And virtualization is between the core technology. That's underpinned. You know this enormous change in the way in which we go about doing business
Actually as a technology. It's quite old first emerged in the
1970s I would say many of the original computer companies produced
different computers that had different operating systems for different purposes they had one for accountancy and they had one for scientific computation and
Ibm when it started pushing the IBm 360 which was a complete breakthrough in computer architecture?
They realized they were losing businesses from other sectors because they couldn't run some of the operating systems that they wanted
So they invented the idea of running a virtual machine a virtual computer on top of the physical computer
And realized rapidly that you could actually run multiple virtual machines at the same time so it's an old idea
[there's] been quite a enormous growth recently in the use of virtual machine technology
then you know cloud computing infrastructures as well as being able to desktop in order to run virtualization on
Earlier versions of the X86 family or everyday PC platforms you need some software let's start with
Vmware this came out of a bunch of very smart people at Stanford who?
realized how to perform
software
emulation of virtual machines in simplest terms we often have two different levels of
privilege
To run software [on] computers we run an operating system
and then we run our
applications and the operating system can use
Instructions and access memory and do things that the applications can't and that's to avoid the applications either maliciously or accidentally
crashing the machine and of course the operating system can but it's presumed a lot more energy goes into making sure that works and
you don't want every time your application crashes, especially when you're developing it that it takes out the [whole] machine and
These are often in all sorts of different computer processors
There's a hardware mechanism [implements]. This is sometimes called the Kernel [mode] or
Supervisor mode
in the case of the sort of the intel family of processors
It's called ring zero this is ring three at this point. You may ask where a ring one and two they are present
But they're not commonly used by most everyday operating systems, but just think of it as the two [privileged] levels
So we have this picture and say we want to run multiple virtual machines
[with] operating systems [clearing] charges and being zero in terms of the privileged mode so what we try to do
[we'll] try to run an operating system in the usual context and then we'll run
Applications on top of that so how do we do this because this operating system?
Running up here in user mode it will try to issue instructions and access things that will
cause a fault
[I] mean well
You know that's not the application not permitted to do that and of course the trick is this tries to do things that are illegal
And what we do is
We make sure it comes into a piece of the operating system has been pressed there to provide virtual machine support and whenever it does
Something that only an operating system can it looks at what I was trying to do and then causes that effect to happen
by emulating the instruction now I
On many processors. They are essentially designed to be easy to be virtualized able. So they have a very simple
Instruction set where it's very easy to decode. What's happening?
The X86 instruction set is not one of those processors
It's rather gnarly processor in terms of destruction set it's often quite difficult and sometimes
Ambiguous as to what I was trying to achieve
And so it was an intellectual marvel from people knowledge to figure this one out one other
Slightly given architecture that worth looking at is the xen virtual machine monitor
Which is an open source one and very popular it underpins for example a vast majority [of] open source
cloud service provision today including it runs at the core of Amazon's
compute service then took a slightly different approach
Which was similar in a sense, but it had a very small?
Hypervisor is [it] like a supervisor that better correct, so you know the terminology?
It's quite old it comes from operating systems often used to be called supervisors
And then when someone said we have something it's you know that can run multiple supervisors
Then what shall we call it hypervisor was what's the word was coined again?
we are talking 1970s here this ran in ring [0] it's a very much smaller piece of code and
there's one privileged domain domain 0
Which actually?
has the operating system and
accesses and
all the physical devices so in a very important function of an operating system is to [access] disk drives and these and Ed interfaces and
Graphics cards and now our guest operating system as we call it the thing that's being hosted it then
Traps into the operating system, [so] it traps across into domain 0 it's a slightly different. It's not in the operating system
It's actually a thin layer
But it achieves the same effect it emulates what that process was trying to achieve [now] of course the software emulation of this is
The performance is not that great
[I] mean you're talking about having to execute what previously was one instruction could take many thousands of instructions
You're also talking about. What's called a protection switch
Where you switch from one domain of protection to another that has a cost in terms of just a number of processor cycles?
So that's where we were say 10 15 years ago. It didn't take long before
Intel realized maybe they should add
virtualization support and
Vt. Technology as [it's] referred to
Was developed and released into you know it's of nearly all intel processors now
I have a virtualization support and so rather than having to emulate a lot of this in software
Rather the software constructs a series of tables that the hardware can access and just make the decision about was trying to be cheap
So today what this means is that we have virtual machines and running in these virtual machines
We can have lots of different operating systems
[that] can be the same operating system
They can be variants they could be windows they could be linux may be different variants of Linux
Very importantly for the commercial sector was the [ability] to run legacy operating systems like windows
Nt for all of the new hardware all the Fancy new Graphics cards everything
H&N interfaces district all the new bits of Hardware of Course Windows, NT
4 hasn't had any software updates for a long time [account] use them
So it has to use them in a backwards compatibility mode so actually by running. Nt. 4 inside a virtual machine
You can get you know the sort of performance advantages of Modern Hardware
Even though that operating system doesn't support him I remember nt. 4 from say 15 [years] ago. Who's still using Nt
4 there'll be a lot of people want to do more well
There's still people using Ls. 2 if you go back pubs and that the fact is probably some people using nt 3.51
the reason is it's sort of a
Terrible secret of the Software industry
we refer to
unloved and uncared for a code as dusty dex
so the phrase dusty dac it used to refer to an unloved and uncared for a stack of
Punched cards that have Gathered dust and you then no need to rerun this software
Quickly a problem if you have bought software in that's proprietary the company's gone the bust and no one's looking after it
There's no support and your business depends on it
There's a fair chunk of a financial services sector continuing to run very old legacy codes in fact
They're still running some of them are still running code on mainframes because they can't move it on to modern processors
They enabled people to get the performance Advantages, but also deal with the fact [that] hardware [fails] over time
But there's a lot of people to migrate on to new hardware upgrade, but also
My if this didn't need much performance, and you've got this you know enormous 64 core process
And I hang the tank in a way you can just give one processor [to] that operating system
And you can use the other processors for other Roblin systems in a multi-core processor where there are multiple
Processing elements all of these operating systems are actually running at the same time in one of the sad truths is that we haven't yet
Become very good at writing [applications]
Which are which can truly use a large number of processors although?
They use things called threads they tend to really be sequential in their behavior
Mostly sequential and so they can only really make use of one or maybe two
Processors, and of course in cloud computing [I] can sell those small virtual machines to different customers
So not as a custom in art I can rent a machine of whatever size
I need one core two cores [four] cores [two] gigabytes of memory four gigabyTes and
The configuration of that is all done by software
[I] didn't have to buy a particular hardware configuration
so if you look at the cloud service providers today the way in which I can provision a new server and applied in a
Minute is because their provisioning me a virtual machine, and it's all under software control and they just create the virtual machine on-demand
And find a spare process or somewhere and run it and hand me [back] the details to allow me to access it
The mathematics as far as we know is okay
So is this a bit like I've got 17 locks on my front door, but he's throwing in the window
Yeah
[so] you go in the window or you pull the wall down you can find other ways in you can always find other ways it