Facta Univ. Ser.: Elec. Energ., vol. 17, no. 1, April 2004, pp. 141-143

John R. Hackworth, Frederick D. Hackworth, Jr.
UNIX: For Programmers and Users
Softcover, pp. 686, plus XXXI $ 29,95
Prentice Hall, Pearson Education, Inc.
Upper Saddle River, NJ 07458, 2004
ISBN 0-13-046553-4
http://www.pearsoneduc.com

In general about the book

UNIX is a popular operating system in the engineering world and has been growing in popularity lately in the business world. It is a dominant operating system on high-end workstations and servers, but it is also used on systems ranging from notebook computers to supercomputers. It is compatible with the POSIX standard and includes many important design principles, but also it is still modern and elegant.

There are a few books about UNIX and almost all of them describe the user level interface. This book is a different one. It also covers the programmer interface and architecture of UNIX operating system. Therefore, it is very interesting for readers who work in UNIX environment.

Chapter content

The book has 16 chapters and is organized as follows: Chapter 1, titled What is UNIX, is the introduction, gives the basic components of computer systems, defines the term erating systems', and explains main characteristics and history of UNIX. Chapter 2, titled UNIX Utilities for Nonprogrammers, provides information for end users, presents the end-user level interface, shows how to log on and off a UNIX system, how to change a password, how to get on-line help, how to stop a program, and how to use the file system. Chapter 3, titled UNIX utilities for power users, describes about 30 utilities that will be most useful in increasing users productivity. This chapter also provides a brief introduction to Perl, because it has become an integral part of many UNIX environmental. Chapter 4, titled The UNIX shells, presents the four common shells: Bourne shell (sh), Korn shell (ksh), C shell (csh) and Bourne Again shell (bash). This chapter describes all of the common shell features, including I/O redirection, piping, command and substitution, and simple job control. Chapters 5 through Chapter 8 describe special features of each individual shell. Chapter 9, titled Networking, begins with an overview of network concepts and terminology and then describes the UNIX network utilities. It shows how to find out what's on the network, how to talk to other users, how to copy files across a network, and how to execute processes on other computers on the network. This chapter describes the most useful network utilities, applicable to both local networks and the Internet. Chapter 10, titled The Internet, includes the most specific Internet-related topics. This chapter provides a solid understanding of what the Internet is and what you can do with it. Chapter 11, titled Windowing Systems, describes the X Window System and presents enough information to get you started using the X Window System. Chapter 12, titled C Programming Tools, describes the tools that support the various different stages of program development: compilation, debugging, maintaining, libraries, profiling, and source code control. Chapter 13, titled System Programming, explains and demonstrates a majority of the UNIX system calls, including those which support I/O, process management, and interprocess communication. This information is presented in the form of several sample programs that are available on-line. Chapter 14, titled UNIX Internals, describes mechanisms that UNIX uses to support processes, memory management, input/output, and the file systems. It also explains the general outline of the kernel structure and the main internal algorithms that form the basis of UNIX kernel. Chapter 15, titled System Administration, describes the main tasks that a system administrator must perform in order to keep a UNIX system running smoothly. This chapter shows how to obtain superuser powers, how to start and stop UNIX, how to install software, how to create a new file system, how to add and delete user accounts, and how to install a device. Chapter 16, titled The Future, describes the latest trends in operating system design that are influencing the evolution of UNIX. This chapter also presents a quick survey of the major versions of UNIX and Linux available today.

Also, the book contains one Appendix and a list of references.

A new and useful feature of the book is that every chapter has the following standard prologues: Motivation, Prerequisites, Objectives, Presentation, Utilities, System calls and Shell commands. In addition, every chapter ends with the Chapter Review which includes Checklist (a recap of the topics), Quiz (a quick self-test), Exercises (rated easy, medium, or hard), and Projects (related to the topic under discussion and rated easy, medium, or hard). Examples of source code used in this book are available online.

Useful book for UNIX users

This book is intended for UNIX users, system programmers and system administrators. It is suitable for undergraduate courses in operating systems and networks. It is very important that the book allows the novice to get a foothold for working in UNIX system programming. Finally, the book will be of considerable help for those working in Linux system programming. The modest background is required to understand the material in this book, but it is expected from readers, in some chapters, to know C programming well. I will strongly recommend having this book in self professional library and reading it.

Prof. Slobodanka Djordjevic
Faculty of Electronic Engineering Nis
Beogradska 14, PO BOX 73
18000 Nis, Serbia and Montenegro