Chapter 2 • Computer Systems 43
move into the mainframe arena, where it is likely to coex-
ist with vendor operating systems like z/OS in major
corporate and government data processing centers.
Aserver operating system,also called a network
operating system (NOS),is software running on a server
that manages network resources and controls the opera-
tion of a network. To state this in another way, a server OS
is an operating system that has been enhanced by adding
networking features. For example, a server OS allows
computers on a network to share resources such as disk
drives and printers; it also handles the server-side of
client/server applications (more on this in Chapter 5).
Major players in the server OS market include several
variations of UNIX; several variations of Microsoft
Windows Server, especially Windows Server 2008; and
Linux. There has been a substantial trend away from
UNIX and toward Linux in the past few years, with
Windows Server also continuing to grow (but at a slower
rate than Linux). The title of one article says it all:
“The Windows-versus-Linux server face-off” (Krill,
2009). IT research and advisory firm Gartner, Inc.,
estimates that Windows Server sales will move from
about $20 billion in 2008 to $22 billion in 2012, while
Linux revenue will grow from $9 billion to $12 billion.
However, these numbers are not comparable because
Linux is often provided at no cost (Krill, 2009).
At the microcomputer level, Microsoft Windows is
even more dominant, with nearly 90 percent of the
market. The remainder is split between Linux (for PCs)
with over 4 percent and Mac OS (for Apple’s Macintosh
machines) with over 6 percent (W3Schools Web site,
2010b). Because most new PCs come preloaded with
Windows 7, it is the de factostandard for microcomputers
as of this writing.
In summary, all of the widely used operating systems
in use today will continue to evolve over the next several
years, with each becoming more complex and powerful. It
appears likely that the movement toward Linux for larger
machines will continue and that Windows will continue to
dominate the microcomputer market—although Linux
might make some inroads here. The server operating sys-
tem market is where the major battle between Windows
and Linux will continue.
One of the important notions in the IT area is that of
anIT platform,which is defined as the set of hardware,
software, communications, and standards an organization
uses to build its information systems. Now we are in the
position to point out that the operating system is usually
the single most critical component of the platform. Thus,
it is common to discuss a z/OS (mainframe) platform,
a UNIX platform, a Windows 7 platform, or a Linux
platform.
Language Translators
In “The Stored-Program Concept” section earlier in this
chapter, we introduced machine language, which is specific
to a particular computer model. Programs written in
machine language do not have to be translated; they may
be run directly on the computer model for which they were
written. However, machine language programs are very
tedious and demanding to write, so computer developers
created languages easier for humans to use as well as the
associated language translator programs to convert these
easier-to-write programs to machine language. Once the
translation process has been completed, the machine
language program is loaded into memory and carried out
by the control unit. For now, we want to concentrate on the
language translator programs, our second type of support
software.
The first easier-to-use languages developed were
assembly languagesthat used the computer itself to per-
form many of the most tedious aspects of programming,
such as remembering the specific memory cell locations
where data are located. While easier than programming in
machine language, assembly language programming still
required the programmer to think like the computer in
terms of the individual instructions. After the assembly
language program is completed, the computer, under the
control of a special stored program called an assembler,
translates the assembly language program (also called the
source program) into machine language (the object pro-
gram) so that it can be loaded into memory and carried out
by the control unit. The machine language for a particular
computer is referred to as the first generation language
(1 GL), and the assembly language that came along later is
called the second generation language (2 GL). Assembly
languages are still in use, but they have been largely sup-
planted by third and fourth generation languages (3 GLs
and 4 GLs) and object-oriented programming (OOP)
languages.
Third Generation Languages
The third and fourth generation languages represent a rad-
ical departure from the first two generations. Both machine
language and assembly language programming require the
programmer to think like the computer in terms of the indi-
vidual instructions. With 3 GLs and 4 GLs, the program-
mer uses a language that is relatively easy for humans to
learn and use but has no direct relationship to the machine
language into which it must eventually be translated. Thus,
the 3 GLs and 4 GLs are designed for humans, not comput-
ers! Typically, each 3 GL or 4 GL instruction will be trans-
lated into many machine language instructions (perhaps
10 machine language instructions per 3 GL instruction, or