In March, server and software maker Sun Microsystems brought in a new set of executives to manage the technical and marketing aspects of its Solaris Unix variant. Ian Murdock, one of the co-creators of the Debian variant of Linux, was named chief operating platforms officer, and Marc Hamilton, a long-time executive in Sun's Systems group, was named vice president of Solaris marketing.
The two sat down recently with us to talk about the future of Solaris and other operating systems.
Q: I really just want to answer some basic questions. The first one is where does Solaris go in terms of the future? And more generally speaking, where do operating systems go from here? I am trying to suss out the issues that businesses need their operating systems to address that are not being addressed.
Ian Murdock: Well, those are hard questions, and they are great questions to talk about.
Let us get a little philosophical. Linux distributions have really changed what an operating system is. It used to be that operating systems were big, monolithic products, and now they are really more a collection of software. In terms of where Solaris is going, we have certainly noticed this change, and are adapting Solaris appropriately. This is, in fact, the essence of 'Project Indiana'.
The way I look at it, we are simultaneously shrinking the OS and growing the OS. We are shrinking the OS in the sense that we are spending a lot of time thinking about the core facilities that an operating system provides to applications and stacks that sit on top of it. And then providing a very flexible mechanism for people to take that core and customising it, verticalising it, or whatever term you want to use that makes the core serve a very specific purpose given an application requirement or a particular environment.
The one-line answer is that we are making Solaris into a distribution, too. And to the extent that you hear that Project Indiana aims to make Solaris more like Linux, that actually fundamentally misses the point. It is mostly taking the lesson that Linux has brought to the operating system and providing that for Solaris as well.
As for the question of where are operating systems going, clearly you are going to see more of the same thing. You are going to see the developer software of choice continuing to move up the stack. At Sun, we have noticed this trend as well.
We have Network.com (Sun's utility computing offering for independent software vendors and customers) and we are thinking of 'the cloud', the Web as an operating system. And it begs the question - and I have heard this many times over the past few years - does this mean that operating systems do not matter any more?
We fundamentally believe that they do because at the very basic level there has to be an operating system talking to the hardware, and in fact the compatibility, the performance, and the scalability of a solution comes from that operating system.
Whether most developers are writing to the operating system or not, the operating system remains a critical part of the stack, and that is why Sun continues to invest in it. That is why we created innovations such as the Zettabyte File System, DTrace, and all the other things we are doing in Solaris, and these are valuable things even as developers move up the stack.
Q: It looks like mass customisation of operating systems is going to be possible for those operating systems that are open source and repository driven. Red Hat has moved in this direction with Fedora 7, its development release, and rPath has created an entire business model based on the idea. And so did you with Progeny and Debian Linux, Ian.
IM: Yes, that was our big thing at Progeny. Customisation is particularly what you do with an open source operating system. The problem, however, is that operating systems tend to be built without having customiaation in mind. It is not just people building appliances and that sort of thing.
Every Sun enterprise customer does not just take the Solaris operating system out of the box and blast it out - they do their own customisation as well. The operating system and the packaging system that holds the whole collection of software together need to fundamentally have to understand customisation and how to evolve customisation over time so you can maximise the benefit of having an upstream platform provider.
Q: And whether you compute locally or you compute in the cloud, you have the same problem of customisation. The customisation issue does not change if companies use Network.com.
IM: It takes on a different flavor, if you look at all of the mashups and APIs that are emerging on the Web. That is really still nascent territory. I do not think people really understand how to make an operating system-like product at that layer. And I would point out that operating system people are in a great position to deal with such issues, because we have been thinking about programming models, interfaces, and these sorts of things for decades. It all really comes down to the platform and the right level of abstraction given what you want to do.
Q: In the past, file systems were important to operating systems, and with software like ZFS, file systems continue to be important. So we use APIs to engender application portability, which were crucial to the success of Unix. Today, virtualisation in its many forms is really a hot topic for operating systems. What sort of features or functions are going to be important for future operating systems?
Marc Hamilton: Ian gives a software engineer's perspective on operating systems, which is valid, but I come from our Systems group, and we sometimes take a look at operating systems from a hardware point of view and how the hardware drives requirements in the operating system.
We are certainly seeing over the past eight years or so the commoditisation of server platforms, and what we are starting to see on the hardware side now is the commoditisation of storage, a movement to a standard storage server platform where you take commodity disk, commodity processors and you weave them into a product like the Sun X4500.
There is, then, an evolving role of the operating system as a storage server platform. That collection of CPUs, networking, and disks is not very useful unless you have some operating system to run across it. Taking a commodity operating system like Solaris and running it on a commodity storage platform rather than having to use some proprietary SAN or NAS platform is an opportunity for growth in operating systems. And this, in contrast to a spin-your-own approach, is an opportunity for vendors or anyone else to create their own storage platform out of Solaris and other hardware components.
Q: We have certainly seen this happen with both Linux and Windows in the disk array market. Do you anticipate third parties picking up Solaris and ZFS and making something akin to the 'Thumper' X4500 storage server, or maybe coming up with a new kind of storage device?
MH: Well, we have certainly seen third parties say that they are going to pick up ZFS. And we absolutely believe that Thumper will not be a one-of-a-kind product from Sun. We think other vendors will come up with similar platforms. Just like people only bought big mainframes or then only big Unix boxes for a long time, we still have companies buying big SANs. As you move to more horizontally scaled applications, people will not want to hook them up to a big, expensive storage farm or to a more proprietary NAS solution.
ZFS was the first major new file system in 20 years, and it is driving this change in storage. The next big area for operating systems will be in the networking space. There is a trend in the industry to go to multicore CPUs, and as you have four-core and eight-core commodity systems, how does the operating system as it relates to networking need to react?
Multiple cores on a very entry-level box require faster and faster networking. When the TCP/IP stacks were written for operating systems, no one was even thinking of Gigabit Ethernet, much less 10 Gigabit Ethernet.
In the OpenSolaris project, we are actually rewriting the networking stack with 'Project Crossbow', and this new stack is designed to work with 10 Gigabit Ethernet interfaces and with virtualisation technology, where you have multiple operating systems that have to work with networking interfaces, multithreaded network interface cards, and multicore CPUs.
I think the whole networking space is ripe for change, and I think you will see the same thing that has happened with the commoditisation of servers and is happening with storage happen will also happen in networking.
People are going to build commodity-style network machines and devices, based on very fast 10 GE, an operating system, and multicore CPUs. And with our Neptune adapter, we actually have the world's first silicon for 10 GE, and we have licensed that to Marvell and we have also shrunk it down onto the 'Niagara-2' processors, which has two 10 GE ports built into the CPU.
So now you can interface to 10 GE networks without the extra cost of expensive interfaces and cards. I believe that eventually, Intel and other chip makers will do the same thing.
Q: Is there anything lurking out there in the operating system area that you need to address? For instance, you could integrate a database as a file system, which is something Microsoft tried to do with Longhorn Server and the WinFS feature and which IBM did decades ago in the System/38 and AS/400 minicomputers, but then reversed in the 1990s with an OS/2-style file system for OS/400 that made it look more like Windows and Unix. That is just an example of the kind of change or issue that I am trying to understand.
IM: I think that systems management is still a big problem, particularly when you are talking about the commodity server space. It is one thing to have commodity servers, but managing these machines is, in my view, still a difficult problem.
I think there is still a lot of room for innovation in operating systems. If there was not, then computers would work perfectly all the time. And we are clearly not there yet. And to rope what we have all said together, an operating system is not a standalone thing. It is one layer of a larger stack that reaches all the way from the hardware to the operating system, which leverages the hardware to the maximum extent possible, and then up the stack, providing the right level of abstraction for application developers to create applications.
We tie this all together into a continuum, and if you think about all of the vendors out there, Sun is pretty uniquely positioned in all of those layers of the stack, and it is certainly uniquely positioned in terms of the openness of the platform. Companies can take out Sun components in the stack and put in third party components. We are in a real good place to see how the operating system can leverage the layers above and the layers below.
MH: Hand in hand with systems management is power management. People are not just eco-conscious, but nearly every data centre is not running out of space, but out of power. The CPU vendors can implement power savings in the chips, but that only goes so far because the CPU is only 50% of the power in a system - there are memory DIMMs, disks, and other components that consume energy and give off heat.
A system vendor can manage all aspects of the system, and this touches the operating system, too. If you have 100 servers running Apache, the operating system is where you control when servers are active and what features are turned on.