Home

Feedback

Credits

About Raj

About Computers,
The Internet,
and Alternatives
for Operating System


by Bruce Gingery, bgingery@gtcs.com

Background

The operating system of a computer is that software (set of programs) that determines nearly everything having to do with operation. It determines when the computer is ready to run programs -- what programs can run -- who can run them. It determines who can change information on the computer, and who can read it.

How does it look?

The best operating system is that which you do not see. It quietly conducts your business, and you have no need to think of it most of the time. It exists to serve programs, as the programs exist to serve you, the user.

How does it work?

Each operating system consists of one or more programs. These programs form the underlying personality of the computer. They know about your hardware, for either the hardware described itself, or you, when you installed hardware or operating system, told the operating system about the hardware.

The operating system keeps the control of the hardware, to make it do what programs need to have done, such as keeping information organized on a disk, loading programs, and giving them permission to use time to perform their tasks. It may also keep track of people using the computer, and in the best cases, it does.

Graphical user Interface

In many cases, today, a Graphical user Interface (GUI) or Windowing System sits between the true operating system, and the user. It may or may not provide some program functions (usually does), but is a layer over the operating system, except in those rare cases of poor design where they are combined into one.

But, why would that be poor design? Because not all programs that run on a computer today should need to communicate directly with the user, nor even require a user to be present, to do things for that user. Many tasks (in fact, the ones for which a computer is best suited) are very repetitive; the same thing, over and over again.

The GUI may force, or recommend, similar looks between programs that are presented to the user. It may enhance what those programs can do, or limit them, or both. It may seem to be all-in-one, or obviously built up from choices.

Some names

Some names you may have seen or heard of
Operating System Graphical User Interface
Microsoft® DOS (MS-DOS) Microsoft® Windows
Microsoft® Windows95, Windows98 and WindowsNT
Apple® MacOS for the MacIntosh
Apple® RhapsodyRhapsody Display Manager
IBM®OS/2 Presentation Manager
Sun Microsystems®Solaris CDE - Common Desktop Environment
LinuxThe K Desktop Environment, and
XFree86 X Windowing System
with various Window Managers
FreeBSD
NetBSD
OpenBSD
SGI® IRIX & UNICOS The X-Windowing System
plus CDE and other variations
DEC® VMS and Ultrix
Hewlett Packard® HP/UX
SCO® and UnixWare®Unix "
NeXT® (Now Apple) OS (BSD4.x)Display PostScript® OpenStep
VNC (Network Computing)

Will it run on my PC?

If you had asked that question just a few years ago, the answer for the then current versions of MacOS and Windows would have been yes, but for most of the others, a Probably Not!. Today, the hardware has "grown up" - that is - the industry is maturing for desktop PCs and the computers are more powerful today than many "Mini" and "Small Mainframe" computers were, just a few years ago. At the same time, convenience in use has sprung ahead by leaps.

But the best news is that the middle entrants above -

  • Linux - with KDE or XFree86
  • FreeBSD - with KDE or XFree86
  • NetBSD - with KDE or XFree86, or
  • OpenBSD - with KDE or XFree86
are all avaliable for free - with business quality power.

What? Free??

YES, exactly. Most of the software upon which the entire Internet runs today is now, and was when it was first written - the result of the collaboration of tens to thousands of people working together toward a common vision for a better world, and free for both private and commercial use. Most of it runs (first or only) on UNIX or its variants.

UNIX?

Originally a take off on the mainframe operating system MULTICS, UNIX became the staple of AT&T® through the 1970's. It was primarily used for medium to large computers - most of which were smaller in capacity than the average desktop PC today. Marketed for PCs in the 1980's, and the high-end desktop machines usually called Workstations, it quickly became the name for power and excellence in design.

Clones and Clones

Just as the original IBM-PC quickly became hundreds of variations from different manufacturers - denoted PC Clones, this powerful operating system has repeatedly been cloned. The most famous of these UNIX Clones (or variants) was that created at the University of California, Berkeley. For years, the Berkeley Software Distribution (BSD)has enjoyed equal prestige with the original.

But the FreeBSD/NetBSD/OpenBSD we see today was not the first UNIX variant for the desktop PC. Before the hardware had the capacity to support a full UNIX clone system, a cut-down version was created, called MINimal UNIX (Minix). Selveral years ago, Linus Torvalds decided to write his own Minix - the result of which has grown into Linux, with the volunteer cooperation and contributions of other developers world-wide, and several companies focused upon producing distributions of it.

So, today, we see FreeBSD with a solid support of Intel-based and similar computers, derived from the last public BSD. We see NetBSD with wide cross-platform support, both older (sometimes orphaned) machines like the Amiga, and the latest like the DEC Alpha. We see OpenBSD claiming the title clean-up for NetBSD, and we see the explosive growth of Linux.

The Well-Kept Secret Escapes

So

  • the operating system controls the machine AND the programs on it.
  • the machine then can only have one operating system, right?

The same machine can only have one operating system at a time, unless one can be treated like any other program, or can pretend to be another for the sake of programs written for the other. (But also see V++ which is designed to change that).

These processes are called emulation, and generally make things run slower than they would without. Yet not always! Just as not all clones are equal, not all emulations are equal.

Multi-Booting a PC

So, do I have to choose which operating system is on my PC, or (worse) do I have no choice, but must stick with what came installed on it? The answer is NO to both - because of the power of today's computers, and the sheer size available on the average Hard Drive.

This is not emulation - but it gives choices!

... in the strictest sense, but rather is simply installing more than one operating system on the same machine and a special program which runs before the operating system - called a boot chooser. The operating system loads because of instructions found on special areas of the disk. Those instructions can (and customarily do) tell the computer where to find the operating system. On a computer with more than one, those same instructions can ask the user WHICH to load, then cause that choice to be obeyed.

The same Mac can run OpenBSD or mkLinux and MacOS - at different times.
The same PC can run Windows95 and FreeBSD or Linux - at different times.
The same Amiga can run NetBSD or its old AmigaDOS - at different times.
The same C=64 can run AUnix, CSDOS, CP/M, GEOS, etc. - at different times.

Binary Compatibility (Portions Highly Technical)

But - it doesn't stop there! Linux can run SCO and SysV programs, in addition to its own. FreeBSD can run Linux and SCO programs, in addition to its own. In each case - as if those foreign programs were its own.

In most cases, this is a simple matter of having the operating system recognize the foreign program, and convert or adopt facilities that the foreign program expects to find. The UNIX variants are so similar that in many cases, most of these are one-for-one conversions.

An OS within an OS (Portions Highly Technical)

Two kinds of emulators create what seems to programs to be a different computer (through software) within a computer. To the main operating system, this internal computer is just a program. To programs within the internal computer, this is the computer.

On the MacIntosh, the outside computer is usually a Mac, while the inside computer is usually a PC.
On a Sun Workstation, or a PC running SCO, the outside machine runs UNIX or a variant, while the inside may run DOS (under WABI).
On a PC running FreeBSD or Linux, the ouside machine similarly runs a UNIX variant, while the inside may run Minix, Windows95, or DOS. On a PC running WindowsNT, the outside machine runs WindowsNT, while the inside machine may run DOS or Windows3.11.

Simulating the API (Portions Highly Technical)

Yet one more kind of environment may be used to iron out the differences. A long running project which has periodic successes is the Wine project. Wine is a program and series of libraries which runs within UNIX variants to directly support Windows3.11, Windows for WorkGroups, Windows95 and WindowsNT programs, as if those operating systems were actually present.

Like the computer-within-a-computer above, such an alternative API provides functions to the programs as if they were running just on a computer with the operating system the programs were written for. Unlike the computer-within- a-computer, this form of emulation replaces that other operating system.

Oh - it sounds complicated

It can be complicated to first set up. Once installed, it can actually become simpler, safer, and easier to use. It expands your choices, can isolate you from some common dangers-of-computing, like viruses, and opens an entire new class of software.

If you have read this far, you will also be able to set it up.

To be continued...

Created by Advanced Integrators < ai@gtcs.com >
A subsidiary of Gateways to CyberSpace < gtcs@gtcs.com >
Member of the GC Group of affiliated companies


Copyright © 1996, 1997, 1998 Dr. Raj Mehta. All rights reserved.