Operating systems such as Microsoft Windows, Linux and Apple OSx are the software “bridge” between application code and computer hardware. It’s the operating system (OS) that defines the capabilities and character of the applications that run on a given platform, and operating system evolution is a driving force behind application innovation.
The first generation of operating systems was tightly coupled to specific hardware, and was little more than libraries of drivers and control modules that allowed a program to interface with computer services. The development of time-sharing systems that allowed more than one program to run simultaneously led to more sophisticated operating systems that included scheduling, security and other services. Nevertheless, each operating system remained linked to the underlying mainframe or microcomputer architecture.
The emergence of the IBM personal computer represented a paradigm shift in the nature of operating systems. The IBM PC was capable of running different operating systems (CPM or DOS) and, more significantly, the OS was developed by a separate company. In short succession, a set of more standardized operating systems emerged, and these were not always tightly coupled to hardware. Microsoft Windows became the defacto standard for desktops, while UNIX (and later Linux) became the standard for servers. Apple continued to provide a tightly coupled hardware/OS offering, but, during most of the ‘80s and ‘90s, remained somewhat of a niche player.
The emergence of the web browser threatened to undermine the role of the OS. It was realized early on that some applications could be delivered purely in a web browser. Maybe a “thin client” computer with virtually no operating system and running only browser-based applications could replace Microsoft Windows on the desktop?
The thin-client movement was premature. Browsers of that time (around the millennium) lacked the capabilities, such as AJAX, that we now know are required to build compelling applications. However, there still are active efforts to establish a browser-only operating system – Google’s ChromeOS being the most significant example.
The next OS paradigm shift occurred when Apple released the iPhone in 2007. While the iPhone was not the first smartphone by any means, it was the first to gain widespread traction and the first that developed an active application ecosystem. Initially, Apple indicated that only “web” (e.g., browser-based) applications would be permitted on the iPhone, but very soon an SDK for iOS was released, and the iPhone application store created a new market for software applications.
Google’s Android OS has a similar relationship to Linux, effectively as a fork of Linux designed specifically for mobile platforms.
The success of the iPhone quickly led to the release of the iPad, which rapidly and more significantly disrupted the desktop market. The iPad ran a slightly modified version of Apple’s iOS, and Android-based tablets soon followed.
Microsoft – having lost its early lead in smartphone operating systems – responded by creating a version of Windows designed to support the desktop, tablet and smartphone. Although Microsoft would claim that Windows 8 provides an integrated experience across all platforms, it’s really two operating systems – the traditional Windows for the desktop and the “modern” UI (dubbed “Tileworld” by David Pogue of the New York Times) for mobile.
These desktop and mobile OS are also increasingly integrated with distributed system frameworks that control resources in the cloud. These frameworks can be thought of as “cloud” operating systems that are managing access to cloud-based resources in a way similar to how the traditional OS manages hardware resources.
Ironically, although the thin client advocates were right about many things – the success of browser-based applications, in particular – they were dead wrong about the diminishing role of the OS. More than ever, the OS is the source of competitive differentiation between various platforms, and a clear focus of innovation for the foreseeable future.