2. Chapter Objectives
• Define a few of the terms which we use in the
book.
• Understand a few basic concepts the are the
foundation of Operating System design.
• Explore Operating System history.
3. Operating System Concepts
• For purposes of this book, we'll consider an operating
system to be the supporting software structure on
which application programs run.
– This support structure includes the facilities to manage
the computer system's resources and any utility
programs needed to maintain and configure the
operating system.
• The heart of system administration is
configuring an operating system to create an
environment suitable for the applications that
the users require.
4. Operating System Concepts
• One can classify operating systems into two broad
groups, early and modern, based on an analysis of
three key features:
– Ability to share CPU resources between multiple
programs.
– Methods employed to control access to system storage.
– Methods employed to protect system and application
memory from corruption.
5. Operating System Concepts
• Early operating systems provided poor support
for these three features.
– Running multiple programs, while possible, was
done via a cooperative system which depended
on each application program to release the CPU
periodically to allow its peer processes to run.
– Protection of system storage was limited.
Critical system files and user files were not
protected from damage by user-level
applications.
6. Operating System Concepts
• Finally, early operating systems did not provide
memory protection for individual processes or the
operating system kernel, thus allowing application
“bugs” to result in damage to the parts of the
operating system and applications loaded into
memory.
• The poor reliability of early operating
systems is (in part) due to the lack of
support for these features.
7. Operating System Concepts
• Modern operating systems are those which
provide good support for these three features.
– All of the UNIX variants, Linux, Mac OS X and
Windows NT, 2000 and XP provide support for
these features.
• As a result, these modern operating
systems are more robust and reliable.
8. Operating System Concepts
• UNIX systems refer to the Operating System’s core
component as the kernel.
– A UNIX kernel handles the interaction with the system
hardware.
– The UNIX kernel is specific to a particular computer
or group of computers that share a common hardware
design.
– UNIX kernels are built around one of two designs:
• a single, monolithic kernel or
• a micro-kernel.
9. Operating System Concepts
• The monolithic design is older and uses a single binary
image to provide the resource management and
hardware interface functions of the core layer. Some
examples of the monolithic design are Linux and Solaris.
• A micro-kernel design uses a very small task
management component and a suite of modules for all
other resource management functions. Windows NT,
Windows 2000, Windows XP and Mac OS X are
examples of micro-kernel designs.
10. Operating System Concepts
• The recent incarnations of Windows; NT, 2000, and
XP share a similar layered construction approach with
UNIX.
– These recent versions of Windows are based on a
micro-kernel design using a small kernel layer and
hardware abstraction layer at their base.
– The middle layer is made up of dynamically loaded
libraries and services.
– The applications layer contains the familiar
applications such as text processors, spreadsheet, web
browsers, etc.
11. Operating System Concepts
• Hardware designs are often called hardware
architectures.
– Fine distinctions between hardware architectures
matter most at the core level of the operating system.
• Differences such as “Pentium III versus Intel 486” or
“SPARC 4m versus SPARC 4c” are important in the
selection of a kernel or operating system distribution.
– On many vendor’s hardware this simple description is
sufficient to make a choice of operating system.
12. Operating System Concepts
• On PC hardware, the hardware architecture is often
only part of the information needed to select an
operating system.
– The variety of PC hardware (models of video, I/O, and
network cards) all require specific software drivers.
– The availability of drivers for a specific device and a
specific operating system is critical.
– All components in the PC, including each interface
card and the motherboard, need to be supported by the
operating system vendor
13. Operating System Concepts
• At the application layer level, the hardware
architecture distinctions become less fine.
– At this layer general categories such as "Intel x86" or
"SPARC" are sufficient to describe whether a particular
program binary will run on a particular machine.
– This general hardware description is sometimes called
the application architecture.
14. History Lessons
• The development of the various flavors of
UNIX, Windows and Mac OS give us clues to
their administration and design.
15. History Lessons
• The simplified UNIX history tree is a mess.
– A more complete and detailed history tree is
even more confusing.
– A complete tree is about 12 pages long! (see
http://perso.wanadoo.fr/levenez/unix/).
16. History Lessons
• From the late 1970s to early 1980s, UNIX
evolved into two related but distinct camps.
– One camp centered about a commercial UNIX
developed by American Telephone and
Telegraph (AT&T) .
•The AT&T versions were named System III and
later System V.
17. History Lessons
– The other popular UNIX variant, Berkeley Standard
Distribution or BSD UNIX, was funded by the
Department of Defense's Advanced Research Projects
Administration.
• Networking was added to BSD UNIX making it an
important force in the early development of the Internet.
• BSD UNIX formed the basis for the early SunOS, IRIX,
NeXTSTEP and later versions of BSD.
• The most common current BSD-styled UNIXes are the
BSD triplets, OpenBSD, FreeBSD, NetBSD.
18. History Lessons
• Differences between flavors of UNIX become more
apparent the more sophisticated the user becomes.
– At the most basic level, all UNIX variants share a
common set of user level commands that function in a
nearly identical manner with the exception of some
option flags.
– More sophisticated users will note the different option
flags.
– Programmers will note that the BSD and System V
families of UNIX have significant differences in
libraries and system calls.
• The differences between UNIX variants will
be most apparent to the system
19. History Lessons
• From the perspective of a system administrator, a
BSD derived UNIX has several noteworthy differences
from its System V cousins.
– The option flags and output format for several
programs, are different from their System V
counterparts.
– BSD UNIXes use a small collection of run control files
(e.g. /etc/rc, /etc/rc.local) which each start multiple
service daemons.
– The BSD UNIX device naming convention for disk and
tape drives usually uses a flat directory scheme with a
letter, number, letter pattern (e.g. /dev/rz0a) to specify
the device driver, device number and partition or
20. History Lessons
• So where does Linux fit into all this?
– Linux is sort of a mutt as far as its orientation
with regard to the BSD and System V styles of
UNIXes.
•Many of the commands share the BSD style
option flags and output
•Run-control files and other aspects of system
administration vary between distributions.
21. History Lessons
• Where did Windows come from?
• At nearly the same time the two major UNIX
varieties were establishing themselves and the
commercial UNIX derivatives were being born,
the personal computer was being created.
• Bill Gates and Microsoft delivered the first PC
operating system, the command line oriented
Disk Operating System (DOS).
22. History Lessons
• In an effort to compete with the Apple
graphical user interface (GUI), the Windows
Operating System was developed.
– Early versions of Windows lacked the maturity
of the Apple GUI.
– The Windows development split into two
streams: a “home” or personal version of
Windows, and a “business” or commercial
version.
– Recently, Microsoft has been trying to merge
the two versions into a single offering.
23. History Lessons
• Apple and Mac OS X
– Driving along a third parallel set of tracks,
Apple developed Mac OS for their Macintosh
computer during roughly the same time frame
as Windows.
•Inspired by the work Xerox had done on
graphical user interfaces, Apple developed the
Macintosh, the first commercially successful
personal computer with a graphical user
interface.
24. History Lessons
• Apple and Mac OS X
•NeXT Computers took the look and feel of
MacOS and married it to a UNIX-like micro-
kernel architecture to form the NeXTStep
Operating System.
•When Apple acquired NeXT, the developers had
an opportunity to update and expand the Apple
GUI interface, resulting in MacOS X.
25. Summary
• Basic terminology and history gives the system
administrator the background to take on the tasks she
faces.
– Understanding some basic terminology aids in the
choice of software, operating systems and hardware
and forms a common language for broad descriptions
of these items and their relation to each other.
– The history of the development of UNIX, Windows and
Mac OS provides insights into the organization, tools
and problems one faces on a particular type of system.
An understanding and knowledge of this history allows
a system administrator to more rapidly come up to
speed when faced with a new system.