FutureScope July 1999

Factors Governing Future Operating Systems

We believe that nine major hardware platforms will require operating systems in the next decade. In this report, we will examine the basic factors that govern the future of operating systems. The following technical factors will differentiate operating systems: kernel architecture, functional stability and compatibility, operational stability and support, interoperability and scalability and application software. With a new crop of operating systems arriving in the next two years, we recommend that a multi operating system strategy be considered.

A number of factors are converging in the development and use of operating systems. The emergence of the Internet, with the Java operating environment and the reemergence of UNIX-like systems such as Linux is prompting users to rethink their operating system strategies.

Although the two examples mentioned above have been available for over five years in one or more forms, they have recently increased explosively. Java is one of the most common languages used on the Internet. Linux, according to IDG is expected to exhibit an annual growth rate of 25% per year until 2003. Compare this to a 12% growth rate for other operating systems.

The introduction of the IA-64 (Merced) architecture may level the playing field at the server level: the platform for which it is targeted. This new platform, the first CISC processor developed by Intel that has a different instruction set. The first operating system to achieve stability on this platform may define the operating system of the future.

As new devices emerge, a plethora of operating system is continuing to emerge. Today we have the following operating systems

  • Mainframe
  • Network, server
  • Desktop
  • Notebook
  • Handheld,
  • Embedded, real-time
  • Smart card
  • Virtual machine

While some hardware platforms dominate today, it is likely that the leadership will change in the next five years. Others, such as set-top boxes will become important in the future. With this mix of devices, their associated hardware architectures, interconnectivity and operating systems the situation will become more, rather than less confused in five years time. If the results of DARPA’s Oxygen project at MIT moves to fruition and finds its way into commercial computing, the face of operating systems in 1999 will be moot by 2010.

In this report, we will examine the basic factors that govern the future of operating systems. One thing is certain: as we move between computing generations, the operating systems changed. As we look toward the next generation it is possible to identify factors that should govern dominant future operating systems.

Technical

While each of the above platforms and associated operating continues to grow, no new technologies have emerged in commercial operating systems throughout the last decades. The increased in processing performance of Intel bases PCs has made them as powerful as midrange and mainframes of 1985. We would have expected server operating systems to have the capabilities of those found on workstations or the above platforms that period. They have not. Multi threaded, multi tasking operating systems which were available since the mid 1960’s, have only become available on non Unix systems in the past five years.

In the past ten years, operating systems technology has seen the move to modularity. This modular design centers on the core of the operating system: the kernel. The kernel functions to control processes, handles memory management, and manages software and hardware communications.

It need not be large; the micro kernel of the QNX operating system, an embedded real-time operating system, occupies about 7K bytes of memory. In this micro kernel architecture, the kernel interfaces directly with the processor, using message passing with the remainder of the operating system. This results in a well controlled environment..

Monolithic kernels include basic functions within the kernel. Because an application interacts directly with the kernel for some processes, it has better performance.

Why is kernel important? The kernel determines the scalability of the operating system. A micro kernel can scale down to smaller devices, with the overhead of increased time required for the message passing. The monolithic kernel while being faster may be difficult to scale to smaller hardware platforms.

Micro kernel operating systems are used for most embedded operating systems. The best known micro kernel is Carnegie Mellon University’s Mach kernel. Macro kernels are found on most mainframes and on the Linux operating system. Some operating systems such as Windows NT balance these two kernel types by creating a hybrid.

A second issue is the distributed nature of the operating system. Today, all commercial operating systems are isolated operating systems. Each hardware platform has its own complete operating system. A powerful direction operating systems research and design design is the distributed operating system,. Multiple hardware platforms share the same operating system but looks as if it were one computer. Now, the power of all computers on the network have been harnessed together. While this can be can simulated, a true distributed operating system must be designed from the ground up. The Chorus kernel developed in France) or the kernel within the Apollo Domain operating system with their distributed capabilities enables this capability. The closest technology available today on non Unix PC environments is DCOM in Windows NT5.0. Applications can be distributed over multiple machines on a LAN.

Functional Stability and Compatibility

A number of issues contribute to a stable operating system. Users perceive the operating system as an unavoidable obstacle when using a computer – they would rather focus on the application. As an operating system is developed, it must be compatible with the previous operating system provided by the vendor. While this was the case for mainframe, midrange and workstation operating systems, it has not been the case within the PC environment. Applications operating perfectly well on one operating system may be incompatible for the system’s next version or the operating system that supercedes it.

To obtain the benefits of the new operating system may require rewriting a major application. Or, it might require acquiring a new software program. We are not talking about taking advantage of new operating system capabilities; we are talking about the simple fact that the older software will not operate correctly. For user organizations a cost analysis of the "better" operating system may not be worth the cost of re-development. It is cheaper to use the older, unsupported operating system than change.

Different operating system vendors have different philosophies about backward compatibility. With the expected investment in a new operating system, one goal to be expected from the vendor is a high level of compatibility.

Operational Stability and Support

The operational stability of the operating system is critical for all platforms. When more than one person relies on the computer, a system "crash" and the re-booting of the machine can result in lost productivity, time and information. For a transaction-processing environment, high reliability is critical. While some "crashes" result from hardware failures, most occur from operating system failures. For mission critical applications, a highly reliable operating system is necessary, irrespective of its performance.

A significant element that contributes to stability from the operating system perspective is support. Support in this context only refers to the corrective actions taken to fix an error caused by the operating system. With the exception of open source operating systems, the vendor is the primary support organization. The vendor, in a timely fashion, must provide "fixes" and "work arounds" to the problems experienced by a user organization. In the case of open source operating systems, support is different. With the source code available, the user can immediately make corrections to the code, then recompile and use the revised operating system. Or, the bug reported to a distributor of the operating system, who will submit it to a systems programmer to fix. Both approaches are equally valid if they work well.

Interoperability and Scalability

One prediction is certain: there will be more than one operating system in wide-spread use through the next decade. No single operating system can fulfill the needs of the platforms identified above. Therefore, it will be necessary to examine the interoperability between different operating systems or between multiple versions of the same system.

In principle, all systems and applications can transfer information from one platform to another, irrespective of the operating systems on each platform. Today, this interoperability is limited to this simple file transfer, not file systems.

Consider Microsoft’s series of operating systems: Windows 98, Windows NT and Windows CE. Each has a file system is different from the others. It might be said that each contains the operating system applicable to the platform. Yet, information of which a single image is required or desired may be difficult to implement.

For example, consider a person who has both a desktop and a handheld computer. The same PIM runs on each platform and is designed for that platform. The database, the data which the user accesses should be the same. The simplest solution would be to have only one database – on the handheld device. The handheld can be plugged into the desktop and all changes made to the single database. The desktop unit is updated when the handheld is inserted or withdrawn into a docking station. How does it operate under today’s operating systems? The handheld unit must be plugged into a serial port on the computer. Then the files synchronized.

Scalability is one solution for the interoperability problem. Using the same operating system between hardware platforms provides the consistency within the data structures up and down the line of platforms.

But, that is only one aspect of scalability. As the workload on a critical segment of an application increases, it may be necessary to employ a larger server or one that is tailored to the application. Scalability also means that the same operating system is available on the new platform.

Scalability is nonexistent on the smallest levels, possible on medium to large systems and nonexistent on the most powerful systems. Even so, most operating systems only operate on two to three hardware platforms, limiting the choice of users.

Interoperability and scalability complement one another. If the operating system is not scalable, it means that at the very least, the program must be recompiled to run on the new operating system. If interoperability exists, the data can still be accessed in it original form.

Application Software

In the final analysis, the availability of applications running on an operating system will largely determines its dominance. Historically, the dominance of an operating system has been a self-fulfilling prophecy. Either, it is the only operating system running on a platform (as with Apple Computer) or it is the one with the most applications. As more people use the applications that are based upon an operating system, the more it is used. As the number of users of the operating system increase, the more it becomes the one of choice for software developers. Consequently, new software is written for the operating system and not its competition.

This was the case for DOS, Windows 3.x and Windows NT. By careful planning, control of the development environments Microsoft achieved early dominance in the operating systems it wished to release. The ability to guarantee programs that would be available for the next operating system rapidly increased their penetration.

Two factors emerge as reasons why a new operating system becomes more widely used. The first is when critical, desirable applications run on a new operating system, as is the case for Internet systems and Linux. Or, when a new hardware platform arises, such as the 3Com palm Pilot with its operating system.

Action Items

If we examine the current operating systems, clearly Windows 98 and Windows NT have the market for the business server and desktop market. With about 50% of Internet sites using Linux based software, it may have a future. At the small end (handheld, embedded and smart card) there is no clear leader. In future reports we will examine some of the contenders.

Users – If you have a suite of programs that use an existing operating system, don’t change. Consider alternative operating systems if their characteristics meet the needs of a special application.

Vendors – Consider all operating systems upon which your application could run. Use good programming design to isolate those sections of code that are operating system independent. It can be done. In the 1960’s a scientific program consisting of 250,000 FORTRAN statements required changing only 25 statements in order for it to operate on all the major mainframes available at the time. Consider the impact to your application of another operating system emerging in your application space.

Entire contents (C) 1999 by Integrated Business Information Systems Ltd.. (IBIS, www.ibisl.com) All rights reserved. Reproduction of this publication in any form without prior written permission is forbidden. The information contained herein has been obtained from sources believed to be reliable. IBIS disclaims all warranties as to the accuracy, completeness or adequacy of such information. IBIS shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The reader assumes sole responsibility for the selection of these materials to achieve its intended results. The opinions expressed herein are subject to change without notice.

Table of Contents

Technical

Functional Stability and Compatibility

Operational Stability and Support

Interoperability and Scalability

Application Software

Action Items


Return to

     Home Page

     Archive Index

Subscribe at no cost

Comments


Related Reports

Linux vs. Windows 2000:
A Level Playing Field in 2000-2001