DOS Lesson 1: Operating Systems

What is an Operating System?

In any course of study, such as this on-line study group on DOS,
you need to carefully define your terms. Since everyone reading this is on-line,
by definition, let’s use an on-line resource. An excellent one for our purposes
is the Webopedia, which can be found at:

http://webopedia.internet.com/

You should bookmark this resource since I will refer to it for
definitions of terms in coming weeks. In this case, the term “Operating
System” is defined at:

http://webopedia.internet.com/TERM/o/operating_system.html

The short definition is that the operating system is software
that sits between the hardware and the applications.

The earliest computers did not have operating systems. In theory,
we do not need operating systems today, though computing would be much less
efficient without them. For example, users of the old WordPerfect for DOS may
recall that this word processing program came with its own printer drivers,
and without a printer driver in the application software you could not print.
Today, users of word processing packages never think about this. The operating
system
loads the printer drivers and makes the printer available to
any application. So the first principle we can discern about operating systems
is that they can make applications easier to create and run by relieving them
of certain tasks.

The next characteristic of operating systems is that they control
access to and allocation of resources. Imagine if your printer received print
instructions from two different programs and began printing from both of them
simultaneously. The resulting document would not be useful.<g> On a more
fundamental level, the normal desktop computer has a single CPU
that handles all operations the computer does. The operating system determines
which programs will have access to the CPU and under what conditions. Similarly,
the operating system controls which program can write data to a disk, or draw
something on the screen.

The third characteristic of operating systems is the they create
a user interface
through which the user interacts with the computer. In the earliest computers,
the interface consisted of things like punched cards and paper tape, created
by specialized keyboard devices. Then monitors and other terminal devices were
added, though input was still achieved largely through the keyboard and information
was in the form of text. Doug Engelbart
at Xerox’s Palo Alto Research Center (PARC) showed the way to a different interface,
the Graphical
User Interface
, or GUI (pronounced “gooey”), in his famous demonstration
in 1968 which employed a three-button mouse and a clickable bitmapped screen
image. This interface became the Apple Macintosh and Microsoft Windows, to name
the two best-known heirs of the PARC research effort. For more on this, take
a look at the book Fumbling the Future: How Xerox Invented, Then Ignored,
the First Personal Computer
by Douglas Smith and Robert Alexander. It is
quite likely that future interface design will take us away from mouses and
monitors to things like voice interaction, and maybe to direct brain connections
like Cyberpunk writers have hypothesized.

For a fascinating discussion of interfaces and related matters,
I recommend reading the article by Neal Stephenson called In
the Beginning was the Command Line
.

DOS as an Operating System

Microsoft’s DOS is an example one kind of operating system, a
fairly simple one, which first appeared in 1981 on the IBM PC. The interface
was what we call a command line interface, meaning that there
was no mouse, no menus, or any graphical components. Text commands were entered
from the keyboard, and the computer’s response appeared as text on the monitor.
DOS controlled some aspects of the computer hardware, particularly disk access
and basic CPU operations, but it was still common to need to configure the video
display, sound card, printer, etc. for each application that would use them.
DOS was a single-tasking operating system, which meant that only one program
could be run at a time.

So in many respects DOS was a primitive OS. It was based on previous
systems, of course, and echoes of UNIX and CP/M can be seen in it. But if you
read Stephenson’s article above, you will realize that it had hidden power,
as well, because you could interact more directly with the components of the
computer than you can with more modern operating systems. It is this power that
makes it valuable to know DOS today. The majority of computer users today use
graphical systems, but users of Windows, for instance, have the ability to interact
with the computer through DOS (or in the case of NT, with a DOS-analogue) to
do things which are difficult or impossible to accomplish through the graphical
interface. For this reason, familiarity with DOS is still considered essential
for anyone supporting Intel-based machines running Windows.