Friday, October 07, 2005

No more operating systems

Intel's VT and AMD's Pacifica are probably the most revolutionary technologies around. Until the arrival of chips with these technologies, Virtual Machine Monitor products like VMware, Xen and Virtual Server needed to be complex tools that managed and intercepted low level commands from the client operating systems, and marshalled them through the host OS for execution. It's a process that can be slow (and often is). By providing a silicon basis for virtualisation, the CPU companies have changed the role of the VMM from a complex piece of software that needs to marshal OS functionality at an application level to that of a partition loading, marshalling and management tool: a hypervisor. Hypervisor managed client operating systems will have access to all the resources of their memory partition - and In fact, with a well-written hypervisor do we need an OS at all? There's work going on to deliver OS-less operations. We've already seen Intel demonstrate task-specific partitions with thin operating layers. But what if the partition was running a version of an existing virtual machine, like Java or .Net? BEA announced at its recent Santa Clara BEA World that it was working on a version of its JRockit JVM that wasn't going to need an operating system. It would be controlled by a hypervisor (possibly Xen) and run in its own partition. This is an important move for the industry - it completely changes the dynamics of the relationship between operating systems vendors and everyone else. If your J2EE containers can run in their own partitions, using network storage, then there's really very little need for today's memory-hungry operating systems on service servers - just load up a JVM with your container and your service application. Using a hypervisor it'll be easy to add processing resource as required - and move the partition from compute resource to compute resource. It's easy to envision a world where the OS is layered and partitioned across a number of virtual machine spaces. In some there'll be hypervisor-managed JVMs, in some security monitors, in some there'll be task-specific OSes (perhaps a web server, perhaps a file store manager, perhaps a desktop OS), all communicating through shared memory using TCP/IP and XML. I suspect that we'll see Microsoft delivering a hypervisor-controlled version of the .NET CLR in a similar time frame to their post Vista OS.

2 Comments:

Blogger Andrew Ducker said...

At it's most basic, the operating system is providing things like disk access drivers and graphics drivers.

You could, theoretically, write this stuff _into_ .Net, but then you'd have to rewrite all your drivers to work directly with .Net.

Oh, and all of the CLR Windows.Forms stuff is very heavily based around it being a layer on top of Windows.

I'm not sure what MS would gain from trying to make the CLR run on bare metal, except for a big headache.

10/08/2005 12:54:00 am  
Blogger Guy Kewney said...

I'd guess some more "pervasive" operating environment is needed. I'm not sure about the bare metal - surely, that's not needed? But if something like CLR is to run on anything other than a Windows PC, then a solution of this sort must be found...

10/10/2005 09:20:00 am  

Post a Comment

Links to this post:

Create a Link

<< Home