- 1. Operating System Concepts, Terminology and History Chapter
2
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 werenot 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 Systems 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
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 containsthe 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 versusIntel 486 or SPARC 4m
versus SPARC 4c are important in the selection of a kernel or
operating system distribution.
-
-
-
- On many vendors 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 layergeneral 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, wasfunded 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 userswillnote 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 administrator.
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 density.
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 orientedDisk 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
-
- 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
-
-
- 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.