SlideShare a Scribd company logo
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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  
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.
History Lessons The development of the various flavors of UNIX, Windows and Mac OS give us clues to their administration and design.
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/).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.

More Related Content

PPT
PPT
Module 3 unit 1
DOCX
Case study
DOCX
Windows 10
PPT
Intro to linux systems administration
PPT
IMD 203 - Ch02
PPTX
Operating systems
DOCX
Characteristic & Aplication of some popular operating system.
Module 3 unit 1
Case study
Windows 10
Intro to linux systems administration
IMD 203 - Ch02
Operating systems
Characteristic & Aplication of some popular operating system.

What's hot (20)

PPTX
Windows 2000
PPT
Intro tounix
PPT
Windows 2000
PPT
Linux file system
PPT
Ms dos
DOCX
linux file sysytem& input and output
DOC
Introduction to unix
PPTX
Ubuntu File System
PPTX
File system of windows xp
PPT
PPT
The Storage Systems
PPTX
Dos
PPTX
Unix architecture | Operating System
PPT
Guide to Windows 7 - Managing File Systems
PPTX
Presentation On Operating system
PPTX
BEST Microsoft windows
PPTX
File system
PPTX
UNIX Operating System
PPT
MS DOS
PPT
Operating System Presentation
Windows 2000
Intro tounix
Windows 2000
Linux file system
Ms dos
linux file sysytem& input and output
Introduction to unix
Ubuntu File System
File system of windows xp
The Storage Systems
Dos
Unix architecture | Operating System
Guide to Windows 7 - Managing File Systems
Presentation On Operating system
BEST Microsoft windows
File system
UNIX Operating System
MS DOS
Operating System Presentation
Ad

Viewers also liked (20)

PPTX
BIM Implementation in a Lean Operating System
PPT
Ch02 system administration
PPT
Flash memory
PPT
Berkely unix
PPTX
File System Implementation & Linux Security
PPT
Ch14 system administration
PPT
Ch13 system administration
PPT
Ch21 system administration
PPT
Ramadan 2008
PPT
Ch24 system administration
PPT
Excel 2007 Unit C
PPT
Ch11 system administration
PPT
Ch22 system administration
PPT
Chapter15 -- implementing and managing networks
PPT
Chapter14 -- networking security
PPT
Ch08 system administration
PPT
Ch16 system administration
BIM Implementation in a Lean Operating System
Ch02 system administration
Flash memory
Berkely unix
File System Implementation & Linux Security
Ch14 system administration
Ch13 system administration
Ch21 system administration
Ramadan 2008
Ch24 system administration
Excel 2007 Unit C
Ch11 system administration
Ch22 system administration
Chapter15 -- implementing and managing networks
Chapter14 -- networking security
Ch08 system administration
Ch16 system administration
Ad

Similar to Ch02 (20)

PDF
Intro to operating_system
PDF
Introduction to System Programming
PDF
Lecture 1 - introduction OS learner .pdf
PPTX
Presentación de computación
PPTX
System structure
PPTX
Operating Systems
PPTX
COMPUTER SYSTEM MAINTENANCE.pptx
PPTX
Design Of Operating System_Lecture_OS_2.pptx
DOC
Operating Systems Unit One - Fourth Semester - Engineering
PPTX
comp-dep-s3-c1-operating system-I-3.pptx
PDF
Linux Administration Course: Chapter 1
PPTX
Linux Operaring System chapter one Introduction.pptx
PPTX
Unit 1 operating system
PPT
Operating System 2
RTF
209979479 study-material
PPTX
Fundamentals of operating system maam lugas.pptx
PPTX
11. operating-systems-part-1
PDF
Linux
PPT
Chapter 2 - Operating System Structures
PPT
OS - Ch2
Intro to operating_system
Introduction to System Programming
Lecture 1 - introduction OS learner .pdf
Presentación de computación
System structure
Operating Systems
COMPUTER SYSTEM MAINTENANCE.pptx
Design Of Operating System_Lecture_OS_2.pptx
Operating Systems Unit One - Fourth Semester - Engineering
comp-dep-s3-c1-operating system-I-3.pptx
Linux Administration Course: Chapter 1
Linux Operaring System chapter one Introduction.pptx
Unit 1 operating system
Operating System 2
209979479 study-material
Fundamentals of operating system maam lugas.pptx
11. operating-systems-part-1
Linux
Chapter 2 - Operating System Structures
OS - Ch2

More from Raja Waseem Akhtar (20)

PPS
The prophet's wives
PPS
God is Great
PPS
Namaz ka tareeqa
PPS
Aayat ul qursi
PPT
Indiansoldiers
PPS
2ªwwii how did it fought
PPT
Fun with EMC2
PPS
Jerusalm at night.pps
PPS
From the sky
PPS
Discover the discovery
PPT
Solaris servers sec
PPT
The OSI - seven layers
PPT
Chapter16 - the internet and its tools
PPT
Chapter13 -- ensuring integrity and availability
PPT
Chapter12 -- troubleshooting networking problems
PPT
Chapter11 -- networking with tcpip and the internet
PPT
Chapter10 -- netware-based networking
PPT
Chapter09 -- networking with unix and linux
PPT
Chapter08 -- network operating systems and windows server 2003-based networking
PPT
Chapter07 -- wa ns and remote connectivity
The prophet's wives
God is Great
Namaz ka tareeqa
Aayat ul qursi
Indiansoldiers
2ªwwii how did it fought
Fun with EMC2
Jerusalm at night.pps
From the sky
Discover the discovery
Solaris servers sec
The OSI - seven layers
Chapter16 - the internet and its tools
Chapter13 -- ensuring integrity and availability
Chapter12 -- troubleshooting networking problems
Chapter11 -- networking with tcpip and the internet
Chapter10 -- netware-based networking
Chapter09 -- networking with unix and linux
Chapter08 -- network operating systems and windows server 2003-based networking
Chapter07 -- wa ns and remote connectivity

Recently uploaded (20)

PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
1. Introduction to Computer Programming.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Encapsulation_ Review paper, used for researhc scholars
Group 1 Presentation -Planning and Decision Making .pptx
Spectral efficient network and resource selection model in 5G networks
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Assigned Numbers - 2025 - Bluetooth® Document
1. Introduction to Computer Programming.pptx
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
cuic standard and advanced reporting.pdf
A Presentation on Artificial Intelligence
Tartificialntelligence_presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25-Week II
Encapsulation_ Review paper, used for researhc scholars

Ch02

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

Editor's Notes

  • #3: It may seem odd to put history in a technical book, but the history of both UNIX and Windows provides important clues about why they look the way they do today and why they have the system management quirks they do. This is of particular importance for the various UNIX incarnations.
  • #8: At an abstract level, modern operating systems share several design concepts. Due to the size and complexity of modern operating systems, each consists of a layered design. A core part of the operating system forms the base of the design and directly interacts with the computer hardware. The core layer is usually loaded into memory when the computer boots and stays there throughout. A middle layer (or layers), made up of a suite of libraries and services, form an abstraction of the computer hardware and provide a connection to the core layer. Items in the middle layer may be loaded as needed. Riding on top of these middle layers comes the user shell (or Graphical User Interface - GUI) and the application programs themselves. The layers are protected from each other and connected to each other through specific Application Programming Interfaces (API's). This provides modularity, allowing individual components in a layer to be changed without effecting items in another layer. It also provides a framework for reliability and security through careful control of the interactions between layers.
  • #10: Modern monolithic kernels extend their designs by allowing additional components, known as loadable modules, to be added to the kernel after it starts running. These loadable modules are used to provide additional features such as the code needed to control less commonly used devices, or 3 rd party software to control new devices. Since a loadable module functions as part of the kernel, care needs to be taken to assure that any module loaded into the kernel is secure. Systems requiring high security will need to disable the capability of loading modules and use a purely monolithic kernel to avoid the possibility of changes to the core functions of the operating system. Linux and Solaris are two examples of monolithic kernel designs that include loadable modules.  
  • #11: Note that the dynamically loaded libraries (DLLs) found in Windows differ significantly from the loadable kernel modules found in some UNIX variants. Loadable modules are specific to a given kernel and one generally cannot have multiple versions available at the same time. DLLs do allow for multiple versions often resulting in mismatched DLLs. These instances of incorrect versions for a DLL and a given operating system kernel or application program, is a common source of problems on Windows systems.
  • #14: The application architecture is often stated more completely as a combination of the general hardware architecture and the operating system. You will frequently see application architectures described as Linux x86 or Solaris SPARC. Still more detailed specifications such as Linux x86 libc5 or Linux alpha 2.2.17 add the kernel version or libraries needed by the application to the description of the operating system and hardware architecture. The main purpose of these application architecture specifications is help match application binaries to the operating systems and hardware on which they will run.
  • #16: One of the reasons for the numerous interconnections between branches in the history of UNIX has been the availability of the UNIX source code, either freely or under license, and the ethos of borrowing ideas and sharing modifications and fixes. From the start, UNIX was built by programmers for programmers, and the ability to hack on the operating system itself, fix bugs, add features and share those changes with others has been a core value of the world of UNIX.
  • #17: UNIX System V evolved from the earlier UNIX System III. This version of UNIX had great influence over the later development of UNIX due the publication by AT&T of the System V Interface Definition (SVID), a complete description of what UNIX was and how it was to behave. With compatibility as their goal, nearly every major UNIX flavor picked up some or all of the features specified in the SVID. Sadly, the publication and acceptance of the SVID did not bring about the unified compatibility it might have. Most of the commercial UNIXes are System V-like (to varying degrees) depending on how closely the vendor followed the published specifications. The result is an annoying list of minor differences where these operating systems might have been more fully compatible Common System V style UNIXes include Solaris, HP-UX, IRIX and AIX. Sun's operating environment, in particular, made a very major switch in 1987 from being SunOS, a BSD-styled UNIX operating system to the System V style UNIX known as Solaris.
  • #20: From a system administrator's viewpoint, a System V derived UNIX differs from a BSD derived UNIX in a couple of areas. Some command option flags and output are different. The run control files on a System V styled system are numerous, with each one starting just one service. They are stored in a separate directory and links from the files into directories named for the various run levels are used to specify which services to start at given level and the order to start them in. This is covered in greater detail in chapter 4, System Boot and Shutdown Procedures. Finally, System V derived UNIXes use a system of sub-directories and number-letter sequences to name disk and tape devices rather then the flat arrangement found on BSD derived systems.
  • #21: Linux owes its birth in part to additional restrictions AT&T placed on the use of UNIX source code for teaching. These restrictions led to the development of MINIX, an implementation of UNIX written by Andy Tanenbaum for teaching purposes. MINIX provided the inspiration for Linus Torvalds to write his own implementation of UNIX. The Linux kernel developed by Linus was combined with a suite of UNIX programs, mostly written by the GNU project, into a Linux distribution. When someone talks about Linux, they are most often referring to a distribution, a combination of the Linux kernel and the associated GNU utility programs. Linux distributions are sometimes referred to as GNU/Linux to signify the marriage between the Linux kernel, and the GNU compilers, libraries, and tools. In this book when we refer to Linux, we are referring to a complete distribution, including both the Linux kernel and the GNU tools.
  • #22: Figure 2-3 in the text shows a simplified history of the popular Windows operating system. While the shift from PC-DOS to Windows was a major event in this history, the more important event for system administrators is the split between Windows 9x and Windows NT. Rather then continuing to extend the PC-DOS based Windows 9x series, Windows NT and it's progeny, Windows 2000 and Windows XP, were built on an all new micro-kernel designed by a team led by David Cutler who had previously led the VMS design group at Digital Equipment Corporation. It should come as no surprise that many of the features one sees in Windows NT such as the user privilege system and access control lists for file access control look very similar to the features one finds in VMS. The Windows 9x series are considered “consumer” operating systems. Their lack of the key features of a modern operating system limit their ability to be effectively managed in a multiuser environment. In the remainder of this book, we will focus on the “comercial” versions of Windows, NT, 2000 & XP.  
  • #23: Windows NT adds Windows versions of several key features associated with UNIX and other modern, multi-user operating systems and not present in the PC-DOS based versions of Windows. These include full memory protection for the kernel and user programs, and facilities for networking and inter-process communications. Windows also adds a number of system services including a scripting engine shared by all applications. The main thing lacking in Windows NT at its initial release was the user interface enhancements and wide range of supported hardware found in the Windows 9x releases. The later history of Windows has been one of unification. With the release of Windows XP, the user interface enhancements and wide range of hardware support have been fully incorporated into the Windows NT based kernel and operating system. This integrated design is not without its problems for the system administrator. Some Windows design choices make the task of securing Windows more difficult. Shared resources such as the visual basic scripting engine, a part of the operating system that is available to every program, have been exploited in a wide number of ways to allow viruses, and other malware to spread widely on the Windows platform. Similarly, shared libraries and services on servers based on the Windows platform have had a poor history with regard to immunity to bugs that have resulted in network visible vulnerabilities. Web site defacements and break-ins are often the result of these vulnerabilities.  
  • #24: Macintosh occupies an import place in history as it served as the inspiration and model for graphical user interfaces that would follow, including Windows and the various X windows based desktops found on UNIX. However, the early versions of Mac OS like the Windows 9x series suffered from their lack of support for the key features of a modern operating system.
  • #25: After Apple's acquisition of NeXT, the history of MacOS merges into the history of UNIX. The NeXT operating system, NeXTSTEP, is based on the work on Mach, a micro-kernel operating system written at Carnige-Mellon University. Apple developed MacOS X using the modern NeXTSTEP as its base. MacOS X has both the Macintosh user interface and the OpenBSD UNIX interface riding on top of the Mach kernel. From a system administrator's viewpoint, MacOS X appears much like NeXTSTEP. The specialized NeXT utilities such as netinfo are there for basic user, host and network configuration management. The familiar UNIX utilities are very much like they are on a OpenBSD UNIX system. However, there are two important exceptions. The Macintosh user interface is based on Apple's proprietary windowing system, not X windows as found on other UNIX systems. While X windows servers are available for MacOS X, the native window system is proprietary. The second notable difference is the filesystem. The default filesystem of Mac OS X is the Macintosh HFS+ filesystem. HFS+ does not provide all of the filesystem features expected by UNIX, in particular MacOS has differences in where it stores metadata (file permissions and ownerships), filename case sensitivity, and case preservation. These differences create some unexpected situations that can result in security problems.