Emergence of the 'unoperating system'
The OS as we know it is fading away -- How is Sun setting the course?
The operating system concept many of us grew up with is due for a change. The systemwide, monolithic operating systems we know today will probably soon be replaced by independent, heterogeneous collections of operating system-type services distributed on devices throughout the enterprise. Sun promises to be a major player in the transition, and its recent partnership with Oracle on the Raw Iron DBMS-in-a-box hints at what tomorrow's "unoperating system" might look like. (3,500 words including sidebar)
Eventually, the parts will become so diffused and intermingled that the operating system concept will lose most of its meaning. Ironically Sun, which has built much of its business on operating systems, is out there leading the charge.
Mark Himelstein, senior director of the Solaris operating environment at Sun, describes this morphing process with a slight, but significant, inversion of Sun's famous slogan. "The computer is the network," he says. "If you look at what is going on in the I/O space as well, Fibre Channel and advanced I/O look like networks, not I/O channels."
This is true, but even networks don't look much like networks anymore. Instead, they're becoming as amorphous as operating systems, more like ad hoc assemblies of resources to be plugged into or removed from the network at will. And the network is supposed to keep chugging along. This is, after all, one of the promises of Jini (see sidebar, "Jini's promise"), a promise critical to a number of other modern networking schemes, especially in the nascent home networking market.
It's likely that in a few years you won't be able to point to any one thing in a computer installation and say, Here is the operating system. It's equally likely that you won't purchase an operating system, per se, when you buy a new computer.
There are several powerful trends converging to produce the idea of the unOS. They include greatly increased OS modularity, widely distributed systems able to change configurations instantaneously, computing appliances, microkernel architectures, and the growth of highly standardized interfaces and protocols.
Raw Iron and the future
Sun's recent agreement with Oracle on the Raw Iron database management system (DBMS) (formally know as the Oracle 8i Appliance) is a sign of things to come. Raw Iron is a DBMS in a box. The server comes with the software already loaded and network-ready. Configuration is minimal and handled through a browser-based GUI. The software is Oracle's 8i Internet version of its DBMS running on top of a minimal version of Solaris. The idea is that the customer pays one price for everything, plugs into the network, loads up the data, and goes to work with as little muss, fuss, and configuration as possible.
From an operating system standpoint, the important features of Raw Iron are, first, that it uses a stripped-down, customized version of an operating system. "Operating systems today are really built to provide a general-purpose environment on which you can build and run anything you want," says Arvind Jain, senior product manager for the Oracle 8i Appliance. "If you know exactly what you want to run, then you can start taking away a lot of the generality built around the underlying operating environment and try to customize the environment so it will be more efficient in the operation of that application."
Of course running a major database like Oracle without a full operating system isn't exactly new. "We have always had the database perform its own memory management, security, and authentication," Jain points out. "A lot of the functions in an operating system we don't require because they are built into our product. We don't even require the operating system filesystem because we have the ability to write directly to the disk." In making the Raw Iron announcement, Oracle CEO Larry Ellison said about half of Oracle's customers run the database without an operating system.
"There are a few things we do require from the operating system," Jain says, "like bootup and device drivers for the network and I/O." Oracle could have written those itself, but it made more sense to license those parts of the operating system from a company with a mature product like Sun. "The way we've designed it, we really require the bare essentials of the operating environment, and we're not dependent on any particular OS," he says.
One added benefit, Jain says, is that Raw Iron is not only faster and easier to administer, it's harder to screw up. "Having a full operating system allows you to go in and modify the underlying environment in ways that can cause less efficient running of the database."
What's equally important is that almost no one in the enterprise has to know, or care, what the operating system is. Raw Iron communicates to the outside world through highly standardized interfaces. Although the box runs Solaris internally, it connects to the network using standard protocols like TCP/IP and NetSQL. It will operate nicely on a Solaris network, a Windows NT network, or anything else that can support those standards.
The implication is that you can have many different database appliances, running different operating systems and supporting different filesystems connected to the same network. A transaction database at a bank may be feeding information to financial analysts on Unix workstations, bank clerks in another state using Windows computers, bank customers with BeOS PDAs, or even couch potatoes checking their account balances via set-top boxes attached to their television sets. The server doesn't know or care, any more than it knows or cares where the users are physically located.
Now obviously this kind of architecture requires some kind of "glue" to hold it together, but that glue is fundamentally the standardized protocols, not the traditional parts of the OS like the filesystem. "APIs are incredibly important," says Sun's Himelstein. "The first battleground is naming, and we've invested heavily in that arena. In order to make all these pieces work, they have to be plugged into the network. Making sure that we can supply access to naming services for these devices is critical. The LDAP (Lightweight Directory Access Protocol) is getting interesting. Everything from Netscape bookmarks to machine configurations is getting stuck into LDAP databases."
So, how does an operating system company like Sun make money in this brave new world of the unOS? To answer that, you have to look at the shifting operating system landscape and the nature of Raw Iron itself.
First, Raw Iron is designed for medium-sized and smaller database customers, either the smaller enterprise or a department within an enterprise. The appliance tops out at about a terabyte of storage, and it doesn't support more than four processors, a far cry from the 64-processor, million-dollar servers Sun offers at the high end.
Raw Iron is a competitive weapon for Oracle and its target is Microsoft, specifically Microsoft's SQL Server database. SQL Server is making major inroads into Oracle's hold on the low-to-midrange database market; Raw Iron provides an excellent counter. The idea of a 50- to 100-gigabyte database appliance is attractive to precisely the kind of customer who might switch from Sun servers running Oracle to NT servers running SQL Server.
Raw Iron works as a strategic weapon for Sun as well because it works against Windows NT in the small-to-medium enterprise servers where NT has been gaining the most ground at the expense of Solaris. These are precisely the customers who need simplicity of installation, low cost, and ease of maintenance -- all of which they feel they're getting from NT Server and not from Solaris. Raw Iron deals out those qualities in spades, even more than a departmental server with NT already installed.
An appliance like Raw Iron requires no license for the operating system and aims to offer not only low acquisition cost, but also low TCO (total cost of ownership). How well this will work in practice only time will tell; but theoretically a DBMS appliance, which requires only minimal configuration and management and no separate software licenses, is a cheaper way to go. That too promises to beat Microsoft at its own game.
Although storage area networks (SANs) are hardly appliances, they, too, are blurring the distinction between operating systems and unoperating systems. One of the defining characteristics of a SAN is that a pool of storage, often distributed, is connected over a standard network using standard protocols to the servers that use the information it contains.
Another part of the weapon is convenience. Raw Iron is an effort to make a DBMS that is as appliance-like as possible. The user plugs it into the network, loads data without too much configuration, and away it goes. Initial cost aside, that is a powerful attraction for enterprises that have a tough time finding and supporting IT talent.
With Raw Iron, Sun is betting that the product will hurt Microsoft a lot more than it will help Sun. Sun makes some money from licensing the stripped-down version of Solaris to Oracle. It makes more money by being a major player in the enterprise network environment that Raw Iron represents.
Raw Iron isn't unique. In fact it is part of a broad trend towards appliances from many companies. For example, network attached storage (NAS) vendors such as Network Storage Systems boast that anyone can get their storage products up and running in less than five minutes. Just plug them in, assign them an IP address, and they're ready to start serving data. Today, you can buy anything from a RAID array to an Internet server as an appliance, and the list of possibilities just keeps growing as the concept catches on.
However, the weapon aspect of Raw Iron is only part of the project's appeal to Sun, and probably a fairly small part. Sun has a very clear vision of where the world is going, and the notion of a plug-in database box that has no operating system in the conventional sense is very much in keeping with that vision.
That vision includes ever-more-modular operating systems specialized for different tasks, and sometimes including parts from different vendors. "We've been moving into this space for some time," Himelstein says. "[There was] our announcement that Solaris Resource Manager will allow different scheduling mechanisms. We provide ways to have alternate filesystems, to allow other third-party vendors or whoever to hook into the operating system, to provide well-defined APIs. These things are becoming bigger and bigger requirements, everywhere from the high-performance computing world down to the workgroup server world."
For the last two years, Sun's policy for Solaris is to make the OS highly modular and release different versions for different markets, such as e-commerce and database management. This modularity helped considerably in the design of Raw Iron, and it also makes it easier to interoperate components of the operating system with pieces from other sources.
"For a long time we've spent a lot of money on making Solaris modular and upward compatible," Sun's Himelstein says. "We invested in shared libraries 10 years ago. Even at the API level we've put a lot of thought into moving the state of the world forward."
One thing Sun hasn't done is to produce a microkernel-based version of Solaris. A microkernel is a stripped-down kernel with everything that isn't absolutely necessary to the OS running in modules on top of the kernel. This includes such standard operating system parts as the filesystem. Apple has gone to a microkernel architecture based on the Mach microkernel for the latest version of the Mac OS, but Sun hasn't. The company had a major research project with a microkernel operating system called Spring, but it didn't bring the idea to market. At least not exactly.
"A couple of years ago we had an effort to look at microkernel," says Himelstein. "Rather than doing it on a huge basis, what we've done is gone in on a slow-but-sure basis and made the operating system modular over time. Like the ability to replace the scheduler or filesystem. As you do that the nucleus of the OS gets tighter. The interfaces are very well defined, and in that way the kernel starts looking like a microkernel."
Strategically, part of the beauty of this is that it helps to move operating systems into a space where Microsoft can't compete. If Solaris isn't easy to strip down as a true microkernel architecture, doing so on Windows NT is just about impossible. It's much, much less modular than Solaris, and it's riddled with dependencies.
Microsoft products also do not scale well. This is becoming increasingly important as companies like Sun and Microsoft try to push up into what has been mainframe territory and down to what Himelstein calls "gizmos and gadgets" -- the host of PDAs, palmtops, handhelds, and other devices whose popularity is growing explosively.
"We're not trying to bring Solaris down to the embedded world," Himelstein says. "There are timing constraints and things that the embedded world really wants. What you have to do in order to meet those needs makes it hard to meet the needs of a larger, robust enterprise."
"I think that's important," Himelstein says. "While the battleground for the PC is kind of solidified and is heading toward a thin-client paradigm, the world of gizmos and gadgets is just growing hugely. What we need to do is make sure we provide a good environment to push that forward."
The unOS method of handling gizmos and gadgets is to give each device its own kind of operating system and have everything communicate over standard protocols. This is pretty much the way Sun is doing it. At the low end, Sun is offering Chorus, a microkernel OS designed for embedded systems with a kernel that can be as small as 16 KB, and specialized communication features suited to embedded and very small systems. Sun is also backing Linux, and is supporting it on the UltraSPARC processors. (This will probably be more for complex embedded products, particularly in the telecommunications arena.) From the desktop to the enterprise, Sun offers versions of Solaris. And of course at all levels, Java and Jini can play an important role.
Microsoft's response to the call for gizmos and gadgets is Windows CE, a downsized version of Windows aimed at palmtop computers and consumer items like set-top boxes. It's more fitted to the world of appliances, but it's still harder to work with (and especially to customize) than the Sun alternatives.
More broadly, the unOS strikes directly at a critical difference between Sun and Microsoft, one that goes to the heart of both companies. Microsoft's vision of the future has never been particularly consistent. Sun's has. Whether it's positioning Java, network computers, open systems, or Raw Iron -- and whether it succeeds or fails -- Sun has always pursued the idea of widely distributed, wide-open systems.
The unOS isn't exactly a new idea, nor is it original to Sun. Operating systems have been headed in this direction for more than a decade, ever since networks started distributing intelligence throughout organizations.
One step in this direction was the microkernel operating system, another was the proliferation of distributed operating system research projects, where parts of the OS were spread throughout the enterprise.
Bell Labs (now Lucent Technologies) moved further along this path in the early and mid-'90s with operating systems Plan Nine and Inferno. Inferno has been commercialized and is coming into general use in telecommunications. An easy way to conceptualize Inferno is to think of something like the Java environment (operating system, development environment, and language) with built-in, realtime security features.
Even further down that path, the Massachusetts Institute of Technology has ExOS, which is based on the notion of an "exo-kernel," an even more stripped-down version of a microkernel with various services tied together by links with varying degrees of trust. Servers in the OS provide lists of available services and security information. A user system decides which services it will use and which links it will trust.
Currently there are quite a few distributed, modular operating system projects underway at universities and corporations. Most of them are research projects. And while they might become the basis of commercial OSs in the same way Mach has, they aren't being designed with commercialization in mind. One exception is HURD, the microkernel OS from the Free Software Foundation's GNU Project.
Notably missing from this list of advanced operating system projects is Microsoft. Although Microsoft is undoubtedly working beyond the next iteration of Windows, it doesn't seem to show much interest in the concept of operating systems designed from the ground up to be highly modular, widely distributed, and able to mix and match services.
Just where all this is likely to end is hard to say. One indication comes from Xerox PARC (Palo Alto Research Center), the birthplace of the modern GUI, Ethernet, and many other critical parts of today's computing environment. Since the late '80s, PARC researchers have been working on the notion of "ubiquitous computing" -- an environment that surrounds the user with a sea of processing power that connects up on an as-needed basis to do whatever the user wants. You don't have a computer; you can connect via anything from an employee ID badge to a Java ring to a PDA-type device -- all the power you need, all available instantly.
Obviously the challenges of making this kind of unOS work are enormous. As the PARC researchers have discovered, everything from security, authentication, and trust mechanisms to questions of system latency must be rethought. If the unOS isn't designed carefully, management will quickly become a nightmare.
Still, those challenges are being met, and over the next several years the fruits of all this work are likely to become commonplace in every area, from computer systems to washing machines. As that happens, we'll come to rely on unoperating systems that will be everywhere -- and nowhere -- at once.
About the author
Rick Cook is based in Phoenix, AZ, and divides his time between writing science fiction fantasy novels ("full of bad computer jokes") and writing about high technology. His most recent feature for SunWorld was "Solaris and Windows NT: The odd couple gets cozy."
If you have technical problems with this magazine, contact firstname.lastname@example.org
Jini is being sold as a technology for hooking and unhooking remote devices -- from set-top boxes and other consumer products to PDAs (personal digital assistants) -- to the network. Jini consists of a Java virtual machine (JVM) and a small amount of code that identifies an object when it's hooked into a network. Jini has been described as "plug-n-play on steroids," but that's only a first approximation of what Jini, or products like Jini, can do.
"Jini is incredibly important," says Mark Himelstein, senior director of the Solaris operating environment at Sun. "One of the holy grails is how to do things like plug-and-play from a device or gizmo or gadget. This is tied into making them effective. If they can't come up into the world and be effective you don't need them. You have to build a lot of knowledge into them to make them effectively. It will raise the cost of the devices. What we're working on is making sure we're there from the Solaris viewpoint to service them."
"Ever since the AppleTalk days there's been this knowledge that someday we'll have the ability to do this, plug it in, and have it work," Himelstein says. "When you plug a disk into the network you want to have a way to make it work."
Jini provides that. However, the attraction goes well beyond handheld computers. For example, two of the companies that announced support for Jini were disk drive manufacturers Quantum and Seagate. Quantum said it intends to market Jini-enabled disk drives for LANs that use Jini to become available as soon as they're plugged in. Seagate said it intends to Jini-enable some of its disk drives, but wasn't specific about its plans.
What Jini offers, fundamentally, is the ability to build and dissolve ad hoc networks and to track and use the resources on those networks. This makes the network as distributed as the operating system is becoming.
Of course all this freedom gets ugly fast if you don't have a way of managing the thousands or millions of objects that keep popping up and disappearing on your network anywhere in the world. Sun demonstrated its answer to this in January when it showed off a version of Solstice Enterprise Manager, which is designed to handle millions of objects, including Jini devices.