Sunday, October 11, 2009

Operating systems can be grouped according to functionality: operating systems for supercomputing, render farms, mainframes, servers, workstations, desktops, handheld devices, real time systems, or embedded systems.

Supercomputing is primarily scientific computing, usually modelling real systems in nature. Render farms are collections of computers that work together to render animations and special effects. Work that previously required supercomputers can be done with the equivalent of a render farm.

Mainframes used to be the primary form of computer. Mainframes are large centralized computers. At one time they provided the bulk of business computing through time sharing. Mainframes and mainframe replacements (powerful computers or clusters of computers) are still useful for some large scale tasks, such as centralized billing systems, inventory systems, database operations, etc. When mainframes were in widespread use, there was also a class of computers known as minicomputers which were smaller, less expensive versions of mainframes for businesses that couldn’t afford true mainframes.

Servers are computers or groups of computers used for internet serving, intranet serving, print serving, file serving, and/or application serving. Servers are also sometimes used as mainframe replacements.

Desktop operating systems are used for personal computers.

Workstations are more powerful versions of personal computers. Often only one person uses a particular workstation (like desktops) and workstations often run a more powerful version of a desktop operating system, but workstations run on more powerful hardware and often have software associated with larger computer systems.

Handheld operating systems are much smaller and less capable than desktop operating systems, so that they can fit into the limited memory of handheld devices.

Real time operating systems (RTOS) are specifically designed to respond to events that happen in real time. This can include computer systems that run factory floors, computer systems for emergency room or intensive care unit equipment (or even the entire ICU), computer systems for air traffic control, or embedded systems. RTOSs are grouped according to the response time that is acceptable (seconds, milliseconds, microseconds) and according to whether or not they involve systems where failure can result in loss of life.

Embedded systems are combinations of processors and special software that are inside of another device, such as the electronic ignition system on cars.

proprietary vs. UNIX

In the early days of computing, each manufacturer created their own custom operating system(s). There was competition in features of both the operating system and the underlying hardware.

After AT&T was forced to abandon commercial computing as part of an antitrust settlement, AT&T’s UNIX was made available for free to the academic community. Because UNIX had been designed in a way that made it easy to “port” (move) to new hardware, colleges and universities that switched to UNIX were able to run a single operating system on all of their computers, even if their computers came from multiple manufacturers.

Eventually UNIX spread into the business community, and pushed aside almost all proprietary mainframe and minicomputer operating systems. Only IBM’s MVS and DEC’s OpenVMS survived in common use (MVS because of the sheer number of installations using it and OpenVMS in the banking and financial community because of its high reliability, security, and preservation of data). Even IBM and DEC ended up offering their own versions of UNIX as well as their proprietary operating systems.

In a reintroduction of the “Tower of Babel”, manufacturers once again competed in features, offering platform-specific enhancements to their versions of UNIX. MIS managers were faced with the choice of using these custom features and being locked into a specific manufacturer’s version of UNIX or foregoing the advanced features and limiting themselves to generic UNIX facilities.

With the introduction of microprocessors and personal computers, once again manufacturers each produced their own custom proprietary operating systems for their hardware, often changing operating systems with each new generation of hardware. Commodore and Apple introduced semi-graphical operating systems for the Commodore PET and C64 and the Apple ][. Digital Research introduced CP/M, a simple business-oriented operating system that ran on multiple manufacturer’s computers.

Moving beyond the early hobbyist days, Commodore (Amiga), Atari (GEM), and Apple (Lisa and Macintosh) introduced fully graphic user interfaces. Microsoft introduced a bad copy of CP/M, known as MS-DOS or PC-DOS, and then later introduced a bad copy of the Macintosh known as Windows.

The strong point of these desktop operating systems was the graphic user interface, which opened up the computer to the masses, no longer demanding that computer users be mathematically competent by eliminating the text command line. While the Amiga and Atari’s GEM had very solid underpinnings, the Macintosh and Windows have always had weak underpinnings, which typically manifests as system crashes and various mysterious events. The Amiga slowly dwindled in popularity due to gross mismanagement by Commodore executives, while Atari’s GEM was a victim of Atari’s financial troubles. Microsoft has repeatedly tried to fix the underpinnings of Windows, with Windows 95, Windows 98, Windows NT, and Windows 2000, but never with success. Apple also tried to fix the underpinnings of the Macintosh, first with Copeland (never released, although parts of it appeared in Mac OS 8), and now with Mac OS X. With Mac OS X, Apple took an already working workstation UNIX (NeXT) and have been attempting to place the Macintosh user interface on top. So far it looks as if Apple will be providing a high quality UNIX, but at the sacrifice of basic user interface capability, which may make Mac OS X too difficult for the non-engineer to use. With OS/2, IBM succeeded in creating a personal computer operating system that had both a sophisticated graphic user interface and high quality underpinnings, but Microsoft used what were later declared illegal tactics to prevent OS/2 from becoming popular.

For almost as long as there have been microprocessors, there have been variations of UNIX available for them (Apple even provided its own version of UNIX for the Macintosh hardware), including the BSD projects (FreeBSD, NetBSD, OpenBSD). With LINUX, a UNIX-like operating system took off in popularity.

LINUX started as an alternative operating system to Windows, coordinated by Linus Torvalds, at the time an engineering student. With the cooperation of literally tens of thousands of volunteer programmers, Linux grew into a powerful server and workstation operating system. Two groups (KDE and GNOME) are in the process of building modern graphic user interfaces for Linux. Already, their work has progressed to the point that after some initial set-up hassles, many non-technical people can use Linux. It is reasonable to expect that soon Linux will match or surpass the graphic userinterface sophistication of Windows. And because of the way that KDE and GNOME are being written (as open source projects using standard UNIX interfaces), both graphic shells can be (and already are being) used on just about any UNIX system, including the free BSDs. Once again, UNIX sweeps aside most proprietary operating systems.

fre