Books: A User's Report
Systems, and their detail-oriented administration procedures, are constantly changing, to both the delight and the dismay of administrators. Whether the new features or processes cause relief or chagrin depends on the individual administrator's experience and the specific operating system. Some of the recent books that I recognized as valuable assets and references include: Operating Systems: Internals and Design Principles, Third Edition by William Stallings (Prentice Hall); Upgrading and Repairing PCs, Tenth Anniversary Edition by Scott Mueller with Craig Zacker (The Scott Mueller Library Series, Que Corporation); Solaris 2.X for Managers and Administrators, Second Edition by Curt Freeland, Dwight McKay, and Kent Parkinson (OnWord Press, High Mountain Press); Hands-On KornShell93 Programming by Barry Rosenberg (Addison-Wesley); and the Apache Server Bible by Mohammed J. Kabir (IDG Books).
Operating Systems: Internals and Design Principles
By William Stallings
At a time when operating systems are evolving and seem to offer the user an infinite number of choices (i.e., Mac 8.5, Windows 95, Solaris 2.X, Windows 98, HP-UX, Windows NT (2000), AIX, and the various distributions of Linux (Red Hat 5.2, Slackware 3.5, S.u.S.E. 5.3, Caldera's OpenLinux 1.3, and Debian), to name a few), the administrator's selection process becomes more complex. Without careful examination and planning, a system can resemble a Halloween "fun house" with unwelcome surprises at unexpected and inconvenient times. To prevent an unwise decision, the administrator must recognize and consider his company's needs and preferences, the differences among operating systems, and the design elements utilized in operating system architecture. In Operating Systems: Internals and Design Principles, Third Edition, Stallings presents answers and information to most of these questions. (Every company's preferences will be unique.) He describes the common features that all operating systems possess and illustrates how different operating systems implement the concepts through examples of Windows NT, UNIX System V Release 4 (SVR4), and Solaris 2.X.
Stallings approaches this subject and its related concepts in seven distinct sections: Background, Processes, Memory, Scheduling, Input/Output and Files, Distributed Systems, and Security. Part One, Background, presents a basic introduction in chapters one and two, Computer System Overview and Operating System Overview, respectively. The second section, Processes, examines Process Description and Control; Threads, SMP (Symmetric Multiprocessing), and Microkernels; Concurrency: Mutual Exclusion and Synchronization; and Concurrency: Deadlock And Starvation. Section Three, Memory, and section Four, Scheduling, address Memory Management, Virtual Memory, Uniprocessor Scheduling, and Multiprocessor and Real-Time Scheduling. Part Six contains two chapters: Distributed Processing, Client/Server, and Clusters plus Distributed Process Management. The book's concluding section concentrates on Security and analyzes threats, protections, viruses, and encryption. The Appendices provide: (A) Queuing Analysis; (B) Object-Oriented Design; (C) Programming and Operating Systems Projects; (D) OSP: An Environment for Operating Systems Projects; and (E) BACI: The Ben-Ari Concurrent Programming System. Stallings also furnishes a Glossary, References, and Index.
Since this book is a popular Computer Science textbook, almost every chapter concludes with a Summary, Recommended Reading, and Problems. A Web site (http://www.shore.net/~ws/OS3e.html) maintains information for both instructors and students, including links, transparencies, and an Internet mailing list. The author also features possible projects and relevant data about three software packages (OSP, Nachos, and BACI) for possible use with some of the projects. The independent professional will discover that several topics reflect increased emphasis and importance. (Most of the subjects were mentioned in the second edition, but their coverage has been expanded and updated.) Some of the most noticeable changes highlight clusters, microkernels, SMP (Symmetric Mulltiprocessing), and multithreading. The Index of the third edition has also been increased, and the list of acronyms now follows the Index.
Operating Systems: Internals and Design Principles, Third Edition, provides a valuable reference whether the reader is a professional, a student, or an instructor. Stallings illustrates the concepts of an operating system and demonstrates implementations through the use of Windows NT, UNIX SVR4, and Solaris 2.X examples. He presents the abstractions and processes in a logical order and readable style with practical examples and support available via the Internet. This is an excellent resource describing fundamental concepts and current developments in operating systems theory, design, and implementation.
Upgrading and Repairing PCs
Tenth Anniversary Edition
By Scott Mueller with Craig Zacker
The Scott Mueller Library Series
Two CD-ROMs Included
The complexities of personal computer internals continue to evolve and expand. A short time ago (or so it seems), the primary interfaces were IDE, ISA, or SCSI. Today's devices may utilize IDE, ISA, SCSI, PCI, AGP, or USB, in addition to the parallel and serial ports. (Manuals for motherboards often resemble alphabet soup or encrypted puzzles.) The latest processors are reminiscent of the popular disposable cameras, and some newer cases simply snap together without any screws to drop, misplace, or strip. There is no easy way to keep pace with these rapidly changing hardware developments. However, Scott Mueller's Upgrading and Repairing PCs, Tenth Anniversary Edition, provides an excellent reference for the professional technician and an ideal guide for anyone endeavoring to learn about the hardware aspects of computers.
With the information presented in this book and the included CD-ROMs, a user can repair and upgrade his or her computer. The interested reader can also acquire a detailed understanding of general computer processes. Mueller begins the book with the following chapter topics: Personal Computer Background; PC Components, Features, and System Design; Microprocessor Types and Specifications; Motherboards and Buses; and Memory. He continues with the more obvious computer elements, which are (in most cases) readily visible, including: the Power Supply and Case: Input Devices; Video Hardware; Audio Hardware; I/O Interfaces; Communications and Networking; Magnetic Storage; and Optical Storage. Craig Zacker contributed the chapter on Printers (and updated some of the other information for this edition). The concluding chapters feature Portable PCs; Building or Upgrading Systems; Diagnostics, Testing, and Maintenance; Operating Systems Software and Troubleshooting; File Systems and Data Recovery; IBM Personal Computer Family Hardware; and A Final Word. The Appendices contain: (A) a Vendor List; (B) Useful Hardware Web Sites; (C) Glossary; (D) Technical Reference followed by a List of Acronyms and an Index of Manufacturers. The accompanying CD-ROMs offer the Micro House International utilities, technical specifications and hardware manufacturers databases, and their Image Cast Le software plus Tech Crawler; Marcraft's A+ Test Preparation questions; the Fourth and Sixth Editions of Upgrading and Repairing PCs in electronic format; Upgrading and Repairing Networks in electronic format; a selection of "how-to" videos by Scott Mueller; and shareware, demos, and evaluation copies of popular and effective performance tuning software.
Each chapter and section begins with an overview or more general explanation of the specific concept. Mueller then describes how each facet works. He also includes any idiosyncrasies (e.g., in which cases 96MB of RAM will degrade your system's performance instead of improving it) concerning the topic. The author also discusses the most common errors and offers possible solutions. He utilizes numerous figures, tables, diagrams, cross-references, and sidebars entitled Note, Tip, or Caution to illustrate procedures and exceptions. My personal favorites are the cross-references, include the topic and (thankfully) the page numbers of the references. This eliminates random flipping back and forth to find the referenced section.
The earlier versions of the book in electronic format guarantee the technician access to information for legacy equipment and systems. The current edition details the newest technologies and provides the most recent information about earlier hardware which may not have been available (or discovered) at the time of the earlier editions. Upgrading and Repairing PCs, Tenth Anniversary Edition, is an outstanding reference and comprehensive resource both for the professional computer technician and the casual hardware enthusiast. The combination of Mueller's excellent writing and his comprehensive expertise, with the bonus of Zacker's contributions and the useful variety of information on the CD-ROMs make this an effective and productive utility.
Solaris 2.X for Managers and Administrators
By Curt Freeland, Dwight McKay, and Kent Parkinson
High Mountain Press
The documentation for any system administrator's essential duties follows some simple guidelines; he or she should know the fundamentals of system installation, customization and configuration, maintenance, and backup. (The possibility that a system may malfunction is usually recognized as an infrequent occurrence.) Although the tasks may be straightforward, the implementation is rarely completed so easily, and the accompanying documentation seldom utilizes a clear and logical format. The Solaris environment provides an additional challenge. The Solaris 1.X commands originated in BSD (Berkeley Software Distribution) UNIX, whereas Solaris 2.X has an AT&T UNIX SVR4 (System V Release 4) foundation. Solaris 2.X for Managers and Administrators, Second Edition, is a superior and exemplary guide to Solaris administration; the authors present the material clearly and directly, and they effectively detail the required procedures.
Freeland, McKay, and Parkinson organized the chapters into three principle divisions: Fundamentals, System Management, and Network Services. The initial section, Fundamentals, explores some history and the design of a distributed computing environment; the Solaris Environment, its components, and vocabulary; Solaris installation, and essential system administration utilities. Specifically, the beginning chapters describe: An Introduction to Distributed Computing, Solaris Concepts and Terminology, Preparing for a Solaris Installation, and Fundamental System Administration Tools. System Management, the second and central section of the book, details routine maintenance tasks (e.g., shutdown, keeping users accounts current, etc.); establishing system policies and their implementations; device hardware, software, and corresponding commands; system troubleshooting and performance; managing peripherals; backup procedures; and automating repetitive activities.
The twelve chapters within the System Management section cover: Refining System Boot and Shutdown Procedures; Creating, Deleting, and Managing User Accounts; Managing System Security; Working with Solaris 2 Device Names; Disk Subsystem Hardware; Disk Subsystem Software; Disk and File System Maintenance; Managing System Software; Adding Terminals and Modems; Managing Printers; System Backups and Disaster Recovery; and Automating Administrative Tasks. The concluding part, Network Services, gathers the necessary concepts and techniques for Solaris network implementation: configuration, security, employing NFS (Network File System) in a client/server capacity, utilizing Network Name Services, particularly NIS+ (Network Information Service Plus (also known as the Yellow Pages (YP)), DNS (Domain Name Service), and how to use NIS+ and DNS together, and establishing World Wide Web connections on a Solaris platform. More precisely, the network administration section considers the following processes: Network Configuration and Management, Network Security, Accessing Network Resource with NFS, Automating NFS with automount, Network Name Service, and WWW Administration.
Solaris 2.X for Managers and Administrators, Second Edition, is an outstanding contribution to the existing system administration documentation. Freeland, McKay, and Parkinson illustrate techniques to increase your system's performance and allow your Solaris environment to function at its optimal capacity. They cover a large selection of possible hardware combinations and thoroughly present the respective additions and configurations. The resulting writing style and accompanying figures and diagrams reveal a remarkably straightforward and readable approach to the practical techniques of managing and administrating a Solaris 2.X environment. This is a superior reference and resource for any administrator currently using or planning to learn about the Solaris 2.X environment.
Hands-On KornShell93 Programming
By Barry Rosenberg
System administration involves many tasks that are routine, tedious, and time-consuming. Most of these repetitive duties can be automated, so that the administrator can devote his or her time to other assignments. Perhaps the best way to automate any computer activity is via shell programming. KornShell provides the user with a complete assortment of capabilities and procedures to accomplish a range of functions. Hands-On KornShell93 Programming by Rosenberg is essentially the second edition of the KornShell Programming Tutorial (Addison-Wesley ISBN 0-201-56324-X), which was published in 1991. The format of the book and the author's humorous approach remain intact. The revisions reflect modifications in KornShell programming features and its most recent developments.
Following a preface that should not be overlooked, entitled "Preface... That No One Will Ever Read", Rosenberg begins with an introductory chapter, Before Writing Your First KornShell Scripts. (Reviewer's Note: Please do not miss the footnote disclaimer on page one.) The author continues to discuss the various topics in the following order: Getting Started; Data Types; Math; Pattern Matching; Conditions; Loops; Creating Menus; Command Line Argument and Positional Parameters; Functions; Start-Up Scripts and Environments; Input and Output; Manipulating Strings; KornShell Reserved Variables; Foreground, Background, and Signaling; Command Line Editing and the History File; and Writing CGI Scripts. The Appendixes include: (A) Statement and Alias Quick Reference and (B) Just Enough HTML followed by a Bibliography and the Index.
The accompanying CD-ROM provides the U/WIN package containing popular UNIX utilities for Windows 94, KornShell93 binaries, the Apache Web Server, and the many examples that Rosenberg employs throughout the book. U/WIN features the latest version of KornShell plus familiar UNIX commands for a Windows environment. MKS (Mortice Kern Systems) creates a similar structure with many UNIX commands for the Windows user as well as several additional packages for more specialized UNIX utilities. These packages allow users who work with both systems to create a similar interface on the different machines and avoid recurring "bad command" messages.
Rosenberg demonstrates a superlative, understandable, and amusing writing style throughout the book. Some of the qualities that highlight his witty approach are accomplished through content; others stand out due to formatting. In several chapters, the author offers two entrances to the material. The first approach, "If You're New to Programming... ", furnishes more detail than the alternative "If You're an Experienced Programmer... " approach. Both present an excellent introduction to the subject, depending on the reader's experience. Rosenberg includes examples whenever possible, concludes the chapters with a Reference and Quick Summary, and issues warnings (entitled BEWARE) throughout the text. The BEWARE: sidebars inform the user of possible unexpected results and are even listed in The Table of Contents. The final chapter, Writing CGI Scripts, adds a new dimension to this superb tutorial.
Hands-On KornShell93 Programming provides a valuable guide, tutorial, and reference to KornShell93 for both the beginning and experienced programmer. Rosenberg demonstrates how to use KornShell93 and illustrates its benefits and capabilities. Any system administrator, shell programmer, UNIX (and even Windows) user, and Web programmer will appreciate this outstanding book's expertise, examples, and techniques.
Apache Server Bible
by Mohammed J. Kabir
Web administration can be divided into three separate phases: installation, configuration, and maintenance. The most popular Web server available today is Apache. Its use has proliferated from UNIX-based systems to almost all existing platforms. To assist the Web administrator, whether beginner or experienced, Kabir has assembled a procedural guide for Apache installation, configuration, basic and advanced administration issues, and maintenance. He addresses this information in five sections: Getting Started, Administering Your Web Sites, Playing It Safe, Implementing Advanced Features, and Using Apache Today and Tomorrow. The initial section, Getting Started, introduces Apache and demonstrates installation and customization procedures. The author discusses these topics through the following chapters: Apache - The Number One Web Server, Obtaining and Installing Apache, Getting Apache Up and Running, The Core Directives, and Apache Modules. In the second section, Administering Your Web Site, Kabir discusses Hosting Virtual Sites, Server Side Includes for Apache, CGI (Common Gateway Interface) Configuration, and Fast CGI. To emphasize the importance of security and its diverse considerations, the author analyzes security measures in section three, Playing It Safe, via Basic Authentication, Server Status and Logging, and Web Security.
Experienced Web administrators who already have Apache installed and customized will appreciate section four: Implementing Advanced Features, which examines The Perl in Apache, The Proxy in Apache, Secured Socket Layer for Apache, and Rewriting Your URLs. The concluding section, Using Apache Today and Tomorrow, investigates Performance Tips, Running Perfect Web Sites, Apache for the Web Network, and Apache for Microsoft Windows 95/NT. The Appendices contain: (A) HTTP/1.1 Status Codes; (B) Basics of Regular Expression; (C) Internet Resources for Apache; and (D) What's on the CD-ROM? Kabir also organized the CD-ROM in five separate directories: /apache, /chapters, /perl, /utils, and /rfc. The /apache directory includes its source and binary distributions, Apache software, and official patches. The /perl directory similarly contains the source and binary distributions of Perl, assorted Perl-based software, and modules. The /chapters directory reflects files presented throughout the book; /utils contains useful third-party Web tools and programs, and /rfc provides standards documentation referenced throughout the book.
Kabir explains the concepts and processes for the Apache Web server logically and thoroughly. He describes which tasks administrators need to complete and how to separately accomplish each step. The content of each section not only illustrates the necessary fundamental techniques, but also outlines additional features and procedures that may be utilized. The Apache Server Bible is an excellent guide and resource for Web administrators at every level; its comprehensive coverage of the individual topics combined with the contents of the CD-ROM make this a superior and effective reference.
About the Author
Elizabeth Zinkann has been involved in the UNIX and C environment for the past 12 years. She is currently a UNIX and C consultant, and one of her specialties is UNIX education. In addition to her computer science background, she also has a degree in English. Elizabeth can be reached via America Online (email@example.com).