25
Operating System Concepts, Terminology and History Chapter 2

Operating System Concepts, Terminology and History Chapter 2

Embed Size (px)

Citation preview

Page 1: Operating System Concepts, Terminology and History Chapter 2

Operating System Concepts, Terminology

and History

Chapter 2

Page 2: Operating System Concepts, Terminology and History Chapter 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.

Page 3: Operating System Concepts, Terminology and History Chapter 2

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.

Page 4: Operating System Concepts, Terminology and History Chapter 2

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.

Page 5: Operating System Concepts, Terminology and History Chapter 2

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.

Page 6: Operating System Concepts, Terminology and History Chapter 2

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.

Page 7: Operating System Concepts, Terminology and History Chapter 2

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.

Page 8: Operating System Concepts, Terminology and History Chapter 2

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.

Page 9: Operating System Concepts, Terminology and History Chapter 2

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.

Page 10: Operating System Concepts, Terminology and History Chapter 2

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.

Page 11: Operating System Concepts, Terminology and History Chapter 2

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.

Page 12: Operating System Concepts, Terminology and History Chapter 2

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  

Page 13: Operating System Concepts, Terminology and History Chapter 2

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.

Page 14: Operating System Concepts, Terminology and History Chapter 2

History Lessons

• The development of the various flavors of UNIX, Windows and Mac OS give us clues to their administration and design.

Page 15: Operating System Concepts, Terminology and History Chapter 2

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/).

Page 16: Operating System Concepts, Terminology and History Chapter 2

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.

Page 17: Operating System Concepts, Terminology and History Chapter 2

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.

Page 18: Operating System Concepts, Terminology and History Chapter 2

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 administrator.

Page 19: Operating System Concepts, Terminology and History Chapter 2

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.

Page 20: Operating System Concepts, Terminology and History Chapter 2

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.

Page 21: Operating System Concepts, Terminology and History Chapter 2

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).

Page 22: Operating System Concepts, Terminology and History Chapter 2

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.

Page 23: Operating System Concepts, Terminology and History Chapter 2

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.

Page 24: Operating System Concepts, Terminology and History Chapter 2

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.

Page 25: Operating System Concepts, Terminology and History Chapter 2

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.