entire data files, while deleting and editing are used for
individual records in a data file.
COMPUTER SYSTEM SOFTWARE
Up to now, we have been discussing computer
hardware (the computer and its peripheral devices) and
the manner in which these devices work and are able to
talk (communicate) with each other. But what about
this thing called software? Do we really need it? We
most certainly do! Software plays a major role in data
processing; for without software, we could not direct
the computer to perform simple addition. Its the
software that makes everything happen. Or, putting it
another way, it brings the computer to life. At this point,
we briefly describe the general types of software used in
computers.
Software can be defined as a set of computer
programs, procedures, and associated documentation
concerned with the operation of a data processing
system. Basically, there are two types of software:
systems software and applications software.
SYSTEMS SOFTWARE
Systems software, often referred to as systems
programs, consists of supervisory and support modules
(programs) designed to coordinate the capabilities of
the computer itself. These include programs such as
operating systems, assemblers, debug routines, text
editors, compilers, library maintenance routines,
utilities, linkage editors, and I/O drivers.
Operating Systems
An operating system is a collection of many
programs used by the computer to manage and control
its own resources and operations. These programs
control the execution of other programs.
They
schedule, assign resources, monitor, and control the
work of the computer, allowing it to carry out tasks
independently of most human intervention.
Assemblers and Compilers
Both assemblers and compilers are language
translators. They are usually designed for specific
machines and specific languages. They translate
computer programs written in assembly language into
machine language.
A language translator for an
assembly language is called an assembler program.
Most high-level language translators are called
compiler programs. These translators are designed to
convert the artificial languages used by programmers,
such as COBOL or FORTRAN, into a machine-usable
code after it is entered into the computer.
Utilities
Utilities are programs or routines that have general
application. They may be separate programs or they
may be routines or programs included with the
operating system to further aid the user by performing
standard functions. Sort, merge, and copy programs are
typical examples. Other examples are text editors to
allow programmers to enter, add, delete, or change
program statements; linkage editors to put together
compiled programs and routines; and debug routines to
help programmers find errors.
APPLICATIONS SOFTWARE
Applications software consists of programs
designed to solve specific classes or types of problems.
For example, word processing programs help us prepare
correspondence, instructions, messages, and so on.
Spreadsheet programs enable us to store and manipulate
numbers in numerical tables.
Database programs
enable us to store and retrieve large amounts of data in
various report formats. Some software is ready to use
and may be purchased from retail stores and
government contracts. This software is called off-the-
shelf software (COTS). If COTS is not available to
solve Navywide or individual user problems, the Navy
may write its own programs. Some programs are
designed and written by one of the Navys central design
agencies and distributed to AIS installations for use. If
no Navy-developed software will solve an individual
problem, you or your automated information system
(AIS) installation may write a program in one of the
many programming languages.
PROGRAMMING LANGUAGES
Almost any type of application you can think of can
be programmed in one or more of the many
programming languages. Just as we humans speak in
many different languages, computers also speak (use)
many different languages. We can divide programming
languages into three categories: machine languages,
assembly languages, and high-level languages.
Machine Languages
A machine language consists of a combination of 0s
and 1s that is used to indicate OFF and ON states of
3-2
