
LAST
UPDATE: 10/20/06; 9/26/07
Still Under
Reconstruction!
I am rewriting this, with better graphics,
to make it more suitable for independent learning, and more efficiently
Web oriented.
Note that the blinking text designates things
that I need to work on; the material is not wrong, but can be improved.
(Don't worry, I don't like blinking text,
either, so there will not be any in the finished product!)

LEARNING MODULE II
SOFTWARE
This
learning module covers computer software in general and system software
in particular. It only surveys application software in its context with
system software. The reason is that application software is
covered,
in the Lab exercises of this course and is, thus, spread out over the
whole
course. (The applications presented in this course are word
processors,
spreadsheets, database management programs, graphics tools, e-mail, and
Web Browsers; see the Labs for treatment of them.)
If
you are an independent learner (not enrolled in the on-campus course),
consult the Study Guide for this learning module
before continuing. In
any case, if you haven't already done so,
read
the Introduction to the Study Guide (not available, until the course is
taught online).
The
primary goals of Learning Module II are:
- to
provide
a concise overall picture of software under the categories of
system software and application software.
- to
present
the basics of system software in general and operation
systems
in particular as a background on which the lab component of the
course
can be built.
Unfortunately
this requires that we cover chapter VIII of the textbook, out
of
sequence, after Chapter I along with Chapter II.
- to
summarize
and contrast the different categories of application software that
are covered separately in the lab exercises.
TPQ
1: Rewrite the preceding objectives in terms of personal
accomplishments
to be attained after finishing the study of this learning module.
The sequence of
presentations
in this learning module is as follows. You can click on any link
to jump directly to that section.
- SOFTWARE
CLASSIFICATIONS
- SOFTWARE
FEATURES
- SYSTEM
SOFTWARE
- TYPES
OF OPERATING SYSTEMS
- DEFACTO
O.S. STANDARDS
- APPLICATION
SOFTWARE
- SUMMARY
Software
is
a general term that refers to computer programs which are collectively
stored on secondary storage media. The following presentation begins
with
an overview of software in general and then focuses on System Software
in particular. System Software is the foundation of a computer
system,
so it is the logical place to start the discussion of the subject of
software.
This presentation ends with a concise summary of Application
Software
which is prerequisite to the our study of Word Processing & Desktop
Publishing, Graphics, Electronic Spreadsheets, Database Management, and
Telecommunications, and Integrated Applications which will be the focus
of the laboratory sessions where the exercises associated with these
concepts
are to be performed. Software may
be distributed commercial
packages (purchased "off the shelf") , public domain ("freeware")
minimal-cost shareware (try before you buy; buy on the honor
system),
or custom designed (by programmers employed by the institution
using
the software).
Open source software is freeware
that may be modified by the owner, i.e. the source code is "open" to
rewriting by anyone; it is a prime example of the "Open Source Movement".
1.
SOFTWARE CLASSIFICATIONS:
I
like to separate all software into three categories
(See
FIGURE S-1*.)
that I subdivide into groups of three to
make them more memorable (I'll bet you can redraw the whole
illustrations,
minus the words, after a quick glance!)
However,
as I mentioned in the OVERVIEW
OF COMPUTERS Learning Module I, most introductory texts only
distinguish
two, __________(1) Software and _____________(2) Software (which
must, by default, contain what I consider a distinct category, Control
Software.)
FIGURE
S-2 illustrates the software functionality (what different
categories of software do and how they interact); note that, in this
diagram, all the rectangles are software categories and all but the
upper right rectangle are system software. (FIGURE S-2 is actually from a single user
viewpoint; contrast
this with FIGURE S-4, which
illustrates
UNIX, a multi-user O.S.).
FIGURE
S-1: SOFTWARE OVERVIEW
(FOR GENERIC
LARGE-SCALE COMPUTER
SYSTEMS) |

|
Click
on the above link to view FIGURE S-1; it is probably best viewed in a
separate window that can be moved while reading this text at the same
time.
(To
do this, right click (on a PC)
or
hold the mouse button down (on the Mac) and select Open Link in a New
Window from the pop-up
menu.) |
1.1 System Software
(See
Section
3, below):
System Software facilitates
the
use of a computer system for system maintenance, programming, running
applications,
etc. It has three main subcategorizes:
- Management Programs,
which
includes Operating Systems (such as Windows, MacOS, and Linux
for
microcomputers or UNIX for multi-user systems) as well as Database
Management
Systems (
system
software on multi-user systems, but application software on
microcomputer
systems) and communications software.
- Support programs
include service
programs that make a computer system "user friendly", e.g. GUIs
like
Windows 3.1 for MS-DOS or X Windows for UNIX as well as programs
that
monitor system usage, security, and performance and programs
that
maintain the system environment.
- Software Development programs
including computer languages and software engineering
tools.
1.2
Application Software (See
Section 6,
below):
- Application software
converts the
computer ( a general-purpose device) into a special-purpose "tool"
that enhances user productivity.
- There are numerous
categories of application
software; see the list in section
6, below; FIGURE S-2 lists a few common application
application programs, relating them to system software as well as
generic hardware of a single user system.
FIGURE
S-2:
GENERIC SOFTWARE FUNCTIONS |

|
|
SAQ
1: (a) What is the difference between system software and application
software?
(b)
What is the PC equivalent of "INPUT-OUTPUT MANAGER" in Figure S-2.
2.
SOFTWARE FEATURES:
2.1 Integrated Software
vs.
Application Suites:combines multiple applications:
- Integrated software
combines
two or more distinct kinds of programs into a single application. These
have the advantages of (1) having common commands in the
separate
applications and (2) allowing one to produce output from any
combination
of the applications
- Typical integrated
packages include
five applications: a word processor, file management program,
electronic
spreadsheet, graphics program, and communications program.
- Example: Microsoft
Works which
is available in both the IBM and Macintosh environments.
- Application
suites
are
stand-alone applications that are "packaged" together.
- Each application
of
a suite
can be purchased and used independently of the other applications.
- All applications
of
a suite
have a similar user interface and are designed to cooperate;
modern suites allow one application to be opened within another, e.g. a
wordprocessing document can contain a spreadsheet.
- Examples:
- The most
commonly
used general
productivity application suite is Microsoft ________(3) which
is
available in FSU computer labs.
- Netscape
_________(4)
is a suit of communications applications that include Messenger
(browser),
Composer (HTML editor), Messenter (e-mailer and newsgroup client), and
AOL Instant Messenger.
SAQ
2.1: What is the difference between an integrated package and a
software
suite?
2.2 User Interfaces:
- In general, the
human-computer interface
has two basic forms:
- command line
interpreter (CLI) where
instructions are typed using a specific syntax (grammar);
- graphical user
interface (GUI) where icons
(intuitively informative little pictures on a computer screen that
represent
disks, files, programs, etc. which can be opened/closed, copied,
executed,
etc.), dialog boxes (small information input boxes superimposed
on the computer screen where user choices can be made using toggle
switches,
checklists, fill-in-the-blanks, etc.) and menus are manipulated
by mouse, track ball, touch screen, etc. Palettes and toolboxes
provide selections of graphic devices that can be used to enhance a
document.
Note that GUIs can be built into the O.S. (Windows 95 and later
and MacOS) or superimposed on a text-based O.S. (Windows 3.1 is
superimposed on MS-DOS and UNIX shells are interfaces to the UNIX
kernel; see FIGURE S-4).
- EXAMPLES: user
interface
with the
Operating System (See Sec.
3.1, below.)
include:
- CLIs like_______(5)
MS-DOS (for
micros),
VMS for VAX minicomputers, and UNIX, and
- GUIs like _______(6),
Windows, MacOS, X Windows for UNIX, etc.).
2.3 User Assistance:
- Documentation:
Information
packaged with software whose purpose is to explain the software's purpose,
characteristics, and capabilities as well as to assist the user to
make efficient use of its features. It may consist of written manuals
and external documentation that can be shown on the computer
screen
while the software is running.
- On-line Help:
Computerized
documentation designed to provide context sensitive glossaries,
step-by-step
procedures, hints, etc. to the user. It is usually accessible from
the keyboard or a menu in a GUI.
- Training:
Tutorials that
assist a new user to become familiar with and proficient in the use of
a particular software product. It is usually both on paper and governed
by software.
- Customer
Support
Services:
Major software companies provide free 24-hour telephone assistance to
registered
purchasers of their software.
3.
SYSTEM SOFTWARE (If possible, you should keep
FIGURE
S-1 open while reading this whole
section.):
System software is designed to act as an interface between users or
their application programs and the computer system itself. System
software
has three basic categories: system management(which
includes the operating system (O.S.), the foundation of system
software),
system support, and
system development.
3.1
System Management:
- The BIOS (Basic
Input
Output System) is the most fundamental software of a computer
system.
It is the firmware that "boots" your computer, i.e. that
gets you computer started when you turn it on. (This feature is the
basis
of the BIOS being called a "bootstrap" program, particularly in
older computer terminology.) It checks your system hardware,
loads
the operating system and file system from secondary storage into RAM,
executes
the operating system and then turns control of the system over to the
operating
system. (See Figure S-3)
For example on a PC, the BIOS is responsible for the scrolling data
displayed
about your computer system, before Windows screen appears. (On a Mac
the
BIOS is simply called the "firmware".)
- The BIOS also
assists the operating
system by governing the flow of data to and from peripheral devices,
thus
acting as an interface between input/output devices and the operating
system.
(See Figure
S-3 where
the BIOS is represented as a generic term "INPUT-OUTPUT MANAGER.)
- The BIOS typically is
provided on EEPROM (electrically
erasable programmable read only memory, explained in sec. of LM
.)
This makes it possible to upgrade your system BIOS by "flashing your
BIOS", i.e. writing a new program to the firmware.
FIGURE
S-3:
BOOTING A COMPUTER TO STARTING AN APPLICATION
|

|
 Compare
FIGURE S-3 with Figure 8-3 in Shelly & Cashman and Figure
3-19 (old version). |
SAQ
2.2: Replace "BOOTSTRAP" and "ROM", in Figure S-3, with their
modern equivalents.
- The Operating
System facilitates the (1) user's and/or (2) program's access to
the
computing system. Within the O.S., the Supervisor program governs
computer operations, coordinates activities within the computer
system, and controls system resources. In general the O.S. has
three
primary management functions:
- Job management (allocation
and scheduling of the CPU): A single CPU can process only one program
at
a time; however, a CPU can be shared by giving sections of CPU
time
to different programs in a specified sequence.
- Processing may be
interrupted by an event (e.g.
the access of an I/O device) or by reaching the end of a time slice
(a specified length of CPU time). The interrupt signals the execution
of
another application, which normally will be the continuation of one
that
was previously interrupted. Because the processor is executing
millions
of instructions per second it appears to users to actually be running
the
applications simultaneously.
- Scheduling
schemes govern
the
sequencing of programs. The simplest is the first-come-first-served
scheme; a priority scheme gives CPU time according to the
importance
of the user or program.
- Resource
management (allocation and scheduling of peripheral devices):
- The method of
allocation
varies according
to the type of device. Transfer of data to/from a device is
controlled
by its device driver, a program that controls a particular type
of ___________(7)
device. A device
driver could be viewed as a "software interface" between the
computer
and the device (as opposed to the physical connection which would be
its
"hardware interface"). (See Figure S-2
and
the even better
illustration
from the Computer Desktop Dictionary.)
Device drivers now come bundled with operating systems, particularly
for
PCs which boast of "plug and play" peripheral additions.(However,
if you purchase a new device, for which the operating system has no
embedded
driver, you will have to install the new device driver.) A device
driver essentially converts the general input/output instructions, form
the BIOS of the operating system, to instructions that the specific
device
can execute.
- Peripheral devices
are
allocated by
the O.S. in response to the requests or requirements of the programming
being run. Sequential access devices (e.g. tape
drives)
may
be assigned for the program duration, but direct access (e.g.
disk
drives) devices can be assigned and released as needed.
- Spooling,
which
allows I/O
to be stored on disk until needed, frees the computer for other tasks
and
allows more efficient usage use of I/O devices. For example, output can
be spooled to a "printer server" and the user can continue to use his
or
her computer while the printing waits until a printer is
available.
See in Shelly & Cashman.
- Data management (allocation/scheduling
of memory, both RAM & Secondary Storage):
- There are numerous
O.S. strategies
for sharing of RAM or secondary storage (which is essential to
the efficiency of multitasking or multi-user systems).
- Basic
Input/Output
System (BIOS):
converts keyboard characters to computer code and reverses this process
to output to a secondary storage device or output device.
- Virtual memory
O.S. allows
a computer with limited RAM to be "fooled into thinking that its memory
is larger" by replacing the part of a program that is in RAM (when it
is
finished executing) with the subsequent part which is on
disk storage; this
process can
be repeated until all parts of the program are "rotated" through RAM.
The
entire program only resides on disk; its parts are sequentially
switched
into RAM, executed, and then replaced. (See section
4.D.a.)
- Database management (In
micro
systems this is classed as ___________(8)
software, rather than system software.) programs are used to
- create new data files,
- edit data files,
- reorganize, sort,
merge,
etc. data
files, and
- access data selected
by
interactive
user inquiries from a terminal.
- Data communications programs
facilitate the transfer of data between primary memory and peripheral
devices
or other computers (via networking or telecommunications).
SAQ
3: (a) What is the difference between an job management and resource
management? (b)
In Windows, what are the equivalents of "job management" in Figure S-1
and "job scheduler" in Figure S-2?
3.2
System Support (for the user):
- Service Programs facilitate
the use of the computer system in an efficient and user-friendly
way.
- ___________(9)are
designed to provide an intuitive access to O.S. commands, via
windows
and dialog boxes, thus avoiding the need to memorized the commands or
their
syntax (grammar) which is necessary with ___________(10)
- Utilities are
programs that
perform repetitive, routine tasks on their own. For example, the Bootstrap
program,
which is permanently stored in the computer (usually in ___________(11)),
loads the disk O.S. when the computer is switched on. (See Figure
S-3,
and
Figure
8-3 in Shelly & Cashman.)
- Device drivers
are
programs
written by the manufacturer of peripheral devices; these programs allow
their device to be connected to a specific make of computer.
SAQ
4a: (a) Modify the explanations on Figure S-3
so
that it applies to using Micorsoft Word, on a Windows O.S., to open an
unfinished word document (.doc). (b) Modify the explanations on Figure
S-3 so that it applies to using a browser (e.g. Netscape Navigator)
to open a Web page.
(c)
Generalize the idea illustrated in , i.e. give the three steps a
person follows for any use of a computer.
- System Monitors
keep
a running
record of :
- system usage
(job
accounting,
priority enforcement, etc.)
- the performance of
programs
and system hardware. Performance can be effected by selecting CPU
scheduling
schemes, changing priorities, adding more or faster resources, and
alleviating
bottlenecks.
- the security of
the system
and the individual user's files.
- System Maintenance:
- Fault-tolerance
capabilities
allow computers to automatically overcome system problems that arise;
this
requires multiprocessing capability. (See section
4.E, below.)
- The O.S. can prompt
the
user when
it needs input in order to continue executing. It sends error or
warning
messages to the user in case of program termination or malfunction
of some component of the computer system. Sometimes the user can
intervene
in the O.S. to overcome the problem.
- If a program crashes,
use to
much time (e.g. infinite loop) or memory, etc. the O.S. terminates its
execution.
SAQ
4b: What is the difference between system monitors and system
maintenance?
3.3
System Development (for developing software or writing programs):
- Language Translators
are software
that translate programs written in computer language (source code)
into machine language (object code) (These are treated in more
detail
in the LM X, Programming Languages.):
- assemblers translate
a complete
assembly language program into object code;
- compilers translate
a complete
high level language program into object code;
- interpreters translate
individual
instructions of a high level language and executes
them
immediately; this
allows greater interaction with the computer while programming but
programs
run slower than those from assemblers and compilers
- Application
Development
Systems and System
Development Programs assist the programmer in developing and
coding
software, for example:
- an editor allows
the programmer
to create, edit, or modify programs or data;
- a debugger facilitates
the
isolation and elimination of program errors;
- CASE (Computer
Assisted Software
Engineering) packages, a hot topic in software development circles,
actually
generate programs from general user specifications.
SAQ
5: What is the difference between (a) assemblers and compilers and
(b) compilers and interpreters
on the other?
4.
TYPES OF OPERATING SYSTEMS:
- Single-user O.S.
- The simplest O.S.
(e.g.
MS-DOS and
Macintosh Systems 1-6), can handle only one task (executing program) at
a time.
- A multitasking
O.S. (e.g.
OS/2,
Windows 95 and above, and Macintosh System 7.0 and above) allows the
user
to run several "tasks" (i.e. running programs or applications)
simultaneously.
The user can give a priority to each task and/or switch back and forth
between tasks with the aid of the O.S
- A multithreading
O.S. is
similar
to multitasking, but here a single program can have several
parts
of it being executed a the same time.
- A time-sharing
O.S. is
a special
case of multitasking where each task is given a portion of the CPU time
(a "time ______(12)");
each of these is processed in a round robin mannergiving equal
opportunity
to each task.
- A relatively new
phenomena, hand held
computers, have spawned specialized operating systems and
scaled-down
versions of standard OS, e.g. Windows CE and JavaOS. These are
being,
used not only in small computers, but also in other
microprocessor-based
appliances and wireless communications devices.
- Multiuser (e.g.
UNIX
or VAX/VMS;
see section 5.2, below.) are far more
complex
than single-user O.S. In a multi-user environment the system manager
directs the O.S., via a console, to set policy parameters such as
priority
rules, I/O assignments, and default memory allocations. A job
control language (JCL) is used to communicate special tasks
associated
with a program to the O.S. Multiuser systems were originally
designed
to facilitate the utilization of a single CPU by multiple users, i.e. a
central computer accessible via multiple terminals. However,
network
access has been added so their in considerable overlap with Network
OS discussed in the next section.
- Network OS (e.g.
Windows NT,
Novell's NetWare, etc.) manage multiple users; however they share
resources
of a network rather than of a single CPU like older multiuser O.S. See section
5.2.
- Micro vs. Mini/Mainframe/Supercomputer:
- Micro O.S. are usually
"public"; mini/mainframe/supercomputer
O.S. are "proprietary" and single vendor.
- Mini/mainframe/supercomputer
O.S.
are usually bundled (include essential program-ming languages and
standard
application packages); micro O.S. are usually unbundled.
- Micro software, being
O.S.
dependent,
is typically not portable.
- Virtual features
extend the
capabilities of a system beyond its hardware limitations.
TPQ: Look up "virtual" in
Wikipedia (on the Navigation Panel). Compare all the different
useages of the word.
- Virtual
memory:
Virtual storage O.S. augment primary memory with secondary storage.
Programs
that are too large to fit into primary memory (RAM) are subdivided into
fixed-length pages or variable-length segments which
can
be switched, under O.S. control, from secondary storage into primary
memory
whenever they are needed.
See in Shelly & Cashman.
- A Virtual machine is
a computer
that is independent of any operating system.
- Different O.S. are
stored in different
areas of primary memory with the virtual machine O.S. controlling the
other
O.S. This makes it possible for each user to interact with the O.S.
appropriate
to his/her application. This helps eliminate software compatibility
problems.
- The new computer
language called "Java"
creates programs for a "virtual machine" which can run on any computer
or O.S.
- Multiprocessing:
Systems containing only a single CPU require the simplest types of O.S.
Systems involving multiple CPUs require more sophisticated
multiprocessing
O.S. that coordinate the interaction of the CPUs. Multiprocessor
systems
include (in order of complexity) the following:
- Coprocessing: Slave
processors,
under the overall control of a master processor, are assigned tasks
that
are independent of one another, e.g. the graphics coprocessors that are
common in current microcomputers, especially those of "gamers".
- Fault-tolerant
systems: These
are designed to "sense" the failure of any CPU and switch its tasks to
one of several backup CPUs.
- Parallel
processing: Independent
CPUs are integrated so they simultaneously process ___________(13)
parts of a program while sharing memory.

- Generality:
- Computer-specific
O.S.
work
only one type of computer, e.g. the Mac O.S.
- Family-specific O.S.
work on
processors with similar architecture, e.g. Windows on all computers
using
the Intel processors and their clones (AMD and Cyrix).
- Hardware-independent
O.S. (e.g.
UNIX, the only O.S. currently available on micros, minis, and
mainframes)
will work on any computer but has to have a "kernel" written for each
specific
architecture. (See Figure S-4.)
SAQ
6: Distinguish the "confusin' Multis", multitasking, multithreading,
multi-user,
multiprocessing, i.e. identify the most important
characteristic
that distinguishes each concept.
SAQ
7: What is the difference between a multiuser system and a network?
SAQ
8: What is the difference between multiprocessing, coprocessing and
parallel
processing?
5.
O.S. STANDARDS:
5.1 Single-user
O.S.:
- CP/M
("Control
Program
for Micros") was the first de facto standard for 8 bit micros.
- MS-DOS has
been
the de
facto standard for micros based on Intel/clone microprocessors. MS-DOS
was augmented with a GUI called ___________(14).(Note,
however, that Windows, up through version 3.1, was not an O.S. itself,
only an addition to MS-DOS.) All versions of Windows
after ___________(15)
are complete O.S., independent of MS-DOS.
- Multithreaded,
multitasking,
multiprocessing O.S. are the wave of the future; when they are
implemented
the distinction between single-user and multi-user OS will disappear.
- Amiga DOS, a
platform put out
of business by the marketing of inferior Wintel machines and Macs, was
multitasking 1985! The Amiga platform is apparently making a
comeback
using Linux; see section 5.3, below.
- Multithreading
and
multiprocessing along with virtual memory has been
provided
by OS/2, Windows, and MacOS through most of the 90's.
- Multiprocessing
capabilities
are built into the newest OS; see section
- The two dominant
single-user
O.S. are Windows and the MacOS:
The
latest version of PC Windows is Windows
XP. I think the most important characteristic is
that
it is built on the Windows 2000 kernal (see section
5.2.D, below) which makes it much more stable than the
95/98/Me
code. Like previous versions of Windows, it is an upgrade of the
basic Windows environment, so if you are familiar with one you can use
the others effectively.
- The Windows
family did
not become a true, stand-alone OS until Windows 95, launched in 1995,
long after the GUI OS of most other PCs.
- No longer supported
(as of July, 2006) is Windows
Me (for
"Millennium
Edition") which replaced Windows 98 on
Sept. 14, 2000,
adding more support for digital cameras, multi-player games on the
Internet
and home networking. However, its unenthusiastic reviews turned to severe criticism.
TechTV
has gone back to Windows 98, Second Edition and discouraged
everyone
using Me, calling it a Microsoft effort to charge people for OS
upgrades
that can be downloaded, free, from Microsoft's
Web site.
The next
version of Windows is called Windows
Vista (formally known as Longhorn) which was
released in early 2007.
See Microsoft's Web pages for Vista
and the Microsoft Vista FAQ page.
- The growing
acceptance of the
Macintosh has made its MacOS a second standard. Mac
OS 9, made available 10/23/99, was a significant upgrade of the
several
versions of OS 8. However, a the really significant changes
appeared in Mac OS X
which is based on UNIX; this is a fundamental shift in Apple's
philosophy,
from proprietary software to the public domain (UNIX).
5.2.
Multiuser O.S. are dominated by UNIX and Windows NT:
- System software
for multiple
user systems come in two fundamentally different (but overlapping)
forms:
- In multiuser
systems
, users access a centralized computer system (CPU plus
peripherals)
via terminals (or workstations). UNIX, a
platform-independent
OS, has become the most commonly used multiuser system software
and versions (Linux, and FreeBSD) are becoming popular on PC based
platforms.
- In Network OS
users access
a network of computer resources (including multiuser systems
and
subnetworks). Such OS are based on a client/server model
of
processing where the users of a network utilize client software
on their workstations (not terminals) to access the resources of the
network
that are managed by server software. Windows NT and
Novell
Netware are examples of such system software.
- UNIX is the
de
facto
standard of platform-independent multi-user O.S.
- UNIX is the only O.S.
widely available
on micros, minis, and maxis. Because it evolved in the
public
domain it has become the defacto nonproprietary multiuser operating
system in the world today. The trademarked
UNIX belongs to The Open Group, an industry standards
organization,
which certifies official UNIX implementations.
- UNIX evolved,
particularly
in academic
environments, with many extensions that resulted in several different
versions;
however, these have been standardized as the
Portable
Operating System Interface (POSIX)
- UNIX is highly
portable.
This is because it is written in a high-level language, C,
making
it less hardware-dependent than O.S. written in machine language.
- The organization of
UNIX
is illustrated
in Figure S-4.
- ... Only the
interface
between the kernel
and the CPU depends on the computer architecture.
- Surrounding the
kernel
is the shell (a
command language interpreter as well as a programming language) which
monitors
user input and interprets it as requests to operate the system. A
powerful
feature of the shell is that it may be modified and customized
by
the user to optimize the use of a particular computer system.
- Surrounding the
shell
are Utilities
and Workbenches that facilitate the use of the computer system.
- New PC versions of
"UNIX-like"
OS that are becoming popular include:
- Linux,
a public domain derivative of UNIX, is
popular alternative to proprietary operating systems. (See section
5.3.B.)
-
is a relatively new PC implementation of BSD UNIX (Berkeley Software
Distribution
UNIX) which was developed at the University of California at Berkeley
between
1979 and 1993. BSD enhancements, known as
the
"Berkeley Extensions," include networking, virtual memory, task
switching,
and large file names (up to 255 chars.). (See section
5.3.C.)
FIGURE
S-4:
SCHEMATIC OF THE UNIX OPERATING SYSTEM |

|
|
- Windows
NT
is the most commonly used proprietary multi-user O.S. It is not
strictly
a multiuser O.S. in the sense of UNIX but is a client/server based OS
that
is actually two products:
- Windows
Workstation
is the client component, designed especially business users,
who
need to utilize networked resources. Since older (16-bit) applications
run in a separate areas of RAM, one can crash without affecting other
processes
running on NT. Security
and management features, not available on single-user OS versions, are
built-in. Windows
NT Workstation has the same desktop user interface as other versions of
Windows. The PC and NT versions of Windows were supposed to be merged
inWindows
2000 (Section 5.2.D, below.), but there will not be a complete
"one-Windows"
until Windows XP.
- Windows
Server
... supports symmetric multiprocessing (SMP) and provides
transaction
processing for hundreds of online users. It is really designed
for
LAN-based business environments, but its stability has caused many
single
users (including me) to use it instead of Windows 98 or Windows
Me.
It can be combined with an Internet server (providing TCP/IP, the
Internet
protocol suite) to provide Web server facilities.
- Windows
2000, unlike most new and planned OS (Linux, FreeBSD,
BeOS, and MacOS X) is not
UNIX based). Informed gossip says it has 35 million lines of
code (over four times the size of the much more efficient Linux) and
despite
approximately 63 thousand bugs" is "much more reliable than Windows NT
4.0 (which is much more reliable than the crash-prone Windows 98 and
disasterous
Windows Me). Important features
of Windows 2000 include:
- Windows
2000
is Windows NT Server 5.0 renamed; this means it is part of the
Windows
NT family (designed for server based networks), NOT the Windows
95/98
(desktop PCs) family. This is confusing because, until now
Microsoft
OS with dates have been associated withdesktop PCs and those with
letters,
like "NT", have been associated with client-server. Windows
ME
(See section 5.1.D.a.i, above.) is the upgrade for the desktop
Windows
98! See the CNET article on Windows
Me vs. Windows 2000.
- A
fully-customizable
administrative console that can be based on tasks rather than files,
applications,
or users
- A
new file directory
approach called Active Directory that lets the administrator and other
users view every file and application in the network from a single
point-of-view.
- Dynamic
Domain
Name Server (DNS), which replicates changes in the network using the
Active
Directory Services, the Dynamic Host Configuration Protocol (DHCP), and
the Windows Internet Naming Service (WINS) whenever a client is
reconfigured.
- The
ability
to create, extend, or mirror a disk volume without having to shut down
the system and to back up data to a variety of magnetic and optical
storage
media.
- A
Distributed
File System (DFS) that lets users see a distributed set of files in a
single
file structure across departments, divisions, or an entire enterprise.
- Close
integration
with and support for Microsoft's Message Queue Server, Transaction
Server,
and Internet Information Server (IIS).
SAQ
9: Why are "terminals" associated with multiuser O.S. while
"workstations"
are associated with network O.S.?
5.3 The New
Generation
of Single-user OS (most based on personalized UNIX):
- Linux,
the
dark horse challenger in the PC world:
- Linux a public
domain UNIX-like
operating system, designed specifically for PCs, that has a
growing a reputation as a very efficient and fast-performing
system.
It has been developed by a community of developers not interested in
commercial
gain, and, consequently, it has gained an almost a cult-like following.
Because it is truly portable, they
proclaim
Linux as an alternative to the OS monopoly of Microsoft.
- Linux
was originally developed, in 1991, by Linus Torvalds while he
was
at the University of Helsinki. Since
then it has evolved with Torvalds and others using extensions developed
by members of the Free
Software
Foundation for the GNU project.
They have insured that it conforms
to the POSIX standard for UNIX; therefore, developers can write
programs
that can be ported to other operating systems.
- Linux
is a complete multiuser, multitasking operating system who's kernel,
like that of UNIX, is the core of the operating system. The
shell,
utilities, etc. that extend the kernel were developed in the GNU
project
and include:
- the
X Windows GUI,
- an implementation
of TCP/IP,
- the standard
UNIX Emacs editor, and
- other
standard UNIX utilities.
- Unlike Windows,
MacOS, and other
proprietary systems, Linux is in the public domain (free or
minimal
cost). A remarkable feature that comes from it's public domain
stature
it that the operating system itself can be customized by users or
even
extended by contributors.
- Commercial versions
of Linux must conform to the Free Software Foundation's copyleft
stipulations
that mean any version of Linux must also
be
freely available in the public domain. The
most popular commercial distribution of Linux is Red
Hat.
- More information about
Linux can be
found at http://www.linux.org/
- FreeBSD
is a public domain, UNIX-like operating system based on U.C. Berkeley's
4.4 BSD-lite release for PC compatibles. BSD
(for
"Berkeley Software Distribution") is
a very popular version of UNIX developed at Berkley campus of the
University
of California. The numbers preceding "BSD" in the name refer to a
specific
release. e.g. "4.4 BSD" refers to the fourth update to the fourth major
revision of BSD UNIX. BSD UNIX has been
popular
and many commercial implementations of UNIX systems are based on IT or
including FreeBSD.
- Mac OS X,
launched on March
24, 2001, is now the OS of choice for the modern Apple
platform. It is entirely Unix based and was a complete departure
from the propriety operating systems previously associated with Apple
computers. OS X runs native applications as well as legacy
applications, from earlier Mac OS. OS X is specifically designed to be modular
in order to incorporate updates and
future inovations in its structure.
- OS X incorporates the
latest in operating systems technology including protected memory, pre-emptive multitasking,
multithreading and SMP ("symmetric multiprocessing" which can
utilize multiple processors).
- The core of OS X is the open source Darwin kernel which
makes it compliant with the latest
versions of Unix including enhanced BSD 4.4, the Mach 2.5
microkernel, and POSIX.
- Web references:
- For the latest,
visit Apple's
OS X site.
- CNET
Review.
NOTE: All
of the PC OS can be installed on a computer, making it a "virtual
machine"
(See section 4.E.b, above>); however, if you do this, be
sure to
install Windows first, because (in true Microsoft "carnivor" fashion)
it
wipes out access to other OS. The other OS do not do this so you
can install, for example, BeOS or Linux, after you install Windows and
use them alternatively with Windows.
SAQ
10: What is the difference between (a) DOS and Windows 3.1, (b) Windows
3.1 and Windows 95, (c) Unix and ?
6.
APPLICATION SOFTWARE:
The
following categorization of application software (by Tony) is
according
to function. The particular applications with which students will gain
experience in this course are distinguished links to the particular
Labs
where they are covered; however, they are treated, in detail, within
the
Lab component of this course. Self-explanatory terms are not described.
(Note
that the CONTROL software that was categorized separately in Fig.
S-1, has been included as Application Software under 6.3; this,
unfortunately,
is the traditional way of organizing Software into two categories)
6.1 Categories of General
Productivity
Software:
- Word Processing
(e.g.
Microsoft Word) software is used to create and edit text-based
documents. (See Lab
4 and Lab
5.) Modern word
processors
have considerable graphic capabilities (giving them "desktop
publishing"
capabilities (See section 6.1.D.e, below.)) as well as some
HTML
editing capabilities that allow them to produce rudimentary Web pages.
- Number
Processing:
- Business/Financial:
- Spreadsheet
(e.g. Microsoft
Excel) applications facilitates the creation of a two-dimensional grid
of "cells"; cells can contain of words, numbers, or formulas that
perform
calculations using the numbers in other cells. (See Lab
6 and
Lab 7.)
- Accounting,
Personal Finance,
etc.
- Math/Science
(Statistical
Analysis, Numerical Analysis, etc.)
- Organizing:
- File
Management
Systems (FMS)
(e.g. the file management component of Microsoft Works) facilitate
the organization of data into files on secondary storage. A
FMS provides a means of accessing and manipulating the format and data
to produce "reports", a subset of the total data in the file. FMS can
only
process single files; thus they are of a subset of Data Base
Management
Systems (next item) ; in fact, FMS are being completely replaced by the
more sophisticated DBMS. (See
Lab 8.)
- Data Base
Management Systems
(DBMS) (e.g. Microsoft Access) are a superset of FMS that allow
much
more complex data organization structures. Specifically they
allow
the reports to include information from several different files.
(See
Lab 8.)
- Project
Management,
etc.
- Multimedia
Creation Software
(See section 3
of LM
V, Input & Output.):
- Graphics:
- Analytical
(Science/Math);
- Illustrative
(Business):
Charts, Graphs, etc. that are available within spreadsheets to
graphically
illustrate the data (See Lab
6 and
Lab 7.);
- Design
(CAD/CAM,
Architectural,
Surveying, Mapping, etc.);
- Artistic;
- Desktop
Publishing (e.g.
Microsoft Powerpoint) combines word processing and graphics to
facilitates
decorative presentations. (See
Lab 9.)This popular
field of the late 80's and early 90's appears to be evolving to full
multimedia.
(See the next section.)
- Multimedia
Publishing
(integration of text, graphics, animation, audio, and video) a superset
of desktop publishing allows animation, video, and audio to be added to
traditional text and graphics to produce dynamic, graphic
presentations.
These have now found an exciting vehicle in the World Wide Web. (See
Lab 9.)
- Audio:
- voice
communications involves applications that facilitate speech
recognition
and speech synthesis.
- music
applications facilitate the human composition and computer generation
and
playback of digital music
- sound
effects, essential to computer gaming, are being incorporated in
all
kinds of other applications
- Communications:
- Networking
software facilitate
the connections between computers and the integration of their
resources
(described in more detail in LM VI,
Overview
of Communications and Networking).
- Telecommunications
applications
provide a variety of long distance "services" (described in more detail
in LM VII, Overview of Cyberspace):
- communication (e-mail,
chat, teleconferencing, etc.), (See
Lab 3.)
- resource
access
(e.g. file transfer
and remote logo), and
- Information
access
(e.g. browsers
allow access to the World Wide Web) (Se Lab 2 and Lab 10.)
SAQ
11: What is the difference between (a) DBMS and FMS and (b)
networking
software and telecommunications software?
6.2 Educational Software &
Entertainment
Software:
- Educational (help
menus, demonstrations, Tutorials,
etc.) applications based on interactive software.
- Individualized
learning
tools facilitate independent, self-paced learning learning
- Group
learning tools
facilitate the presentation of educational courses that are not groups
that are not bound to physical locations and fixed schedules, e.g. this
course.
- Help
facilities are being
integrated into most software applications to help new users
- Entertainment:
- Game
software
provide
the "gamer" with opponents, either in the form of a computerized
opponent
or real opponents that play online via a network, either local or the
Internet.
- Creative
Software such
as musical composition, artistic innovation, etc.
- Virtual Reality
(VR)
is given a distinct category because it has roles in both educational
and
entertainment applications. VR, only in an embryonic state, is the
simulation
of a real or imagined 3D environment that usually can be
interactively
"experienced" in real-time. More advanced applications involve
such
facilities as wrap-around display screens, actual rooms augmented with
wearable computers, and haptic joystick devices that let you feel the
display
images (tactile feedback). The Virtual Reality Modeling Language (VRML)
allows the creator to specify images and the rules for their display
and
interaction using textual language statements. VR
has two basic categories:
- The simulation
of real environments
such as the interior of a building or a the streets of a town often
with
the purpose of training or education
- The creation
of
an imagined
environment, typically for a game or educational adventure
6.3 Professional Software:
- Management
(Transaction Processing,
General Ledger, MIS, Decision Support)
- Professional
(Doctors,
Lawyers,
Scientists, Farmers, etc.)
- Artificial
Intelligence (Expert
Systems, Natural Language Processing, and Image Processing)
- Simulation and
Modeling
- Control and
Automation
(process
control, automated manufacture, robotics, etc.)
- etc.
SAQ
11: Redraw a version of Figure S-1 that
applies explicitly to PCs. (Hint:
recall the inclass discussions about what is and what is not system
software on PCs and not that a PC is NOT a robot or automated factory.)
7.
SUMMARY OF THIS LEARNING MODULE:
- Software is
generally
classified into two categories:
- System
software
allows
the user to manage a computer system, provides support,
and
facilitates software development.
- Application
software
consists of programs that turn a general purpose computer into a
special
purpose tool, e.g. word processor, web browser, game, etc.
NOTE: Tony prefers to
include
a third category, Control software that allows the user to
control
electronic devices; if such devices do work, this is robotics. The
inclusion of this third category conforms to his basic three-category
subdivision
of all information in this course.
- General
characteristics
of software include:
- Integrated
software combines
multiple applications within one package
- User
interfaces
allow
the user to interact with software. They have evolved from the
text-based
command line interface (CLI) to today's graphical user interface (GUI).
- User
assistance
provide
documentation, on-line help, training, and customer support to the user.
- In general, System
Software
(See Figure S-1.) may be classified into three
basic
categories, applicable to multiuser systems as well as PCs:
- Management
software includes operating
systems (the main component of PC system software), database
management,
and communications software. (Note that the latter two are
system
software in multiuser systems but application software on PCs.)
- Support
software includes service
programs (GUIs, utilities, etc.), monitoring programs (for
performance,
performance, usage, etc.), and maintenance (recovery, fault tolerance,
etc.)
- Software
Development
software includes programming languages, software development tools
and utilities.
- Types of
Operating systems:
- OS differ
dramatically according
to whether they are single user or multiuser systems.
- Virtual features
(e.g. virtual
memory, virtual machines, etc.) allow software to extend the
capabilities
of a system beyond its hardware limitations.
- Multiprocessing
systems
incorporate more than one CPU. These may be categorized as to
whether
they facilitate coprocessing, fault-tolerance, parallel processing,
etc.
- OS may be platform
specific
(computer specific or CPU family specific) or platform independent.
- Defacto Standards
are
the OS that have become standards simply by their popularity and common
use:
- Single user
OS have evolved
from DOS based CLIs to the current multitasking, multithreaded,
GUI-based
OS with defacto standards like Windows, MacOs, Linux, etc.
Variations
of single user OS are being incorporated into hand-held computing
devices,
microprocessor-based appliances, and wireless communications devices.
- System software
for multiple
user systems come in two overlapping forms:
- Multiuser
systems consist
of a central computer/peripherals that is accessed via terminals or
workstations.
UNIX, a platform-independent OS, has become the most commonly used
multiuser
system software and versions (Linux, and FreeBSD) are becoming
popular
on PC based platforms.
- Network OS
are based
on a client/server model where the users of a network use client
software
on their workstations to access the resources of the network that are
managed
by server software. Windows NT and Novell Netware are
examples
of such system software.
- Linux, currently
the
"hottest"
platform independent OS, is a "UNIX-like" OS that may rival the
dominance
of Microsoft Windows and NT.
- Application
software,
when run, turn the computer into a particular tool. They
are classified, in this course, into three categories in order to
conform
to the basic three-category subdivision of all information in this
course;other
texts will probably have different subdivisions.
- General
productivity applications, utilized by virtually all computer
users,
include word processors, electronic spreadsheets, database management
systems,
communications software, and multimedia.
- Educational
and
Entertainment applications,
which have a great deal in common, incorporate user/computer
interactivity.
- Profession
software,
that assist professionals carry out specific tasks, is now available
for
virtually every profession known to society.