REVIEW - UNIX Internals - The New Frontiers

Title:

UNIX Internals - The New Frontiers

Author:

Uresh Vahalia

ISBN:

0131019082

Publisher:

Prentice Hall (1996)

Pages:

601pp

Reviewer:

David Caabeiro

Reviewed:

February 2004

Rating:

★★★★★

this book is the best available in its category

Albeit being somewhat dated, I think this book is the best available in its category. It discusses in detail most features of current state-of-the-art Unix kernels, including SVR4.2, Mach, 4.4BSD, Solaris 2.x, which makes it a good follow-up to former books such as Bach's Unix Internals.

Each chapter provides descriptions of several topics, with clear diagrams and comparisons among different implementations. Code is provided when discussing implementation issues, but in a brief and to the point style.

At the end of each chapter, you can find a list of references to fathom on the topics discussed. Exercises are also available, to provide food for thought and consolidate the concepts learnt. Unfortunately there is no answer book available.

The author starts with an overview of the evolution of Unix since its inception to the current thicket of different flavours. Then it describes processes related issues in traditional and modern kernels: threads, signals, job control, scheduling, IPC and synchronization in uniprocessor and multiprocessors.

Next chapters introduce the file system interface and the VFS concept, detailing some specific implementations, to introduce you to distributed fs and finally some advanced concepts such as journaling and stackable fs. Then it starts with memory management from the kernel and user point of view, provides a good description of VM and discusses implementations in SVR4, Solaris, 4.4BSD and Mach.

Finally, it describes cache-related issues and its effects. The last two chapters address the IO subsystem, discussing the traditional framework (char and block devices), and STREAMS.

This is not an introductory book. You need some background in operating systems concepts, such as virtual memory, processes, etc. which can be learnt in introductory books for undergraduate courses such as Tanembaum's Modern Operating Systems, Silberchatz, Stallings, etc.

If you are into operating system design, Unix programming or even system administration, get this book you will not regret it. Highly Recommended


Book cover image courtesy of Open Library.