UNIX: The Textbook, Third Edition provides a comprehensive introduction to the modern, twenty-first-century UNIX operating system. The book deploys PC-BSD and Solaris, representative systems of the major branches of the UNIX family, to illustrate the key concepts. It covers many topics not covered in older, more traditional textbook approaches, such as Python, UNIX System Programming from basics to socket-based network programming using the client-server paradigm, the Zettabyte File System (ZFS), and the highly developed X Windows-based KDE and Gnome GUI desktop environments.
The third edition has been fully updated and expanded, with extensive revisions throughout. It features a new tutorial chapter on the Python programming language and its use in UNIX, as well as a complete tutorial on the git command with Github. It includes four new chapters on UNIX system programming and the UNIX API, which describe the use of the UNIX system call interface for file processing, process management, signal handling, interprocess communication (using pipes, FIFOs, and sockets), extensive coverage of internetworking with UNIX TCP/IP using the client-server software, and considerations for the design and implementation of production-quality client-server software using iterative and concurrent servers. It also includes new chapters on UNIX system administration, ZFS, and container virtualization methodologies using iocage, Solaris Jails, and VirtualBox.
Utilizing the authors’ almost 65 years of practical teaching experience at the college level, this textbook presents well-thought-out sequencing of old and new topics, well-developed and timely lessons, a Github site containing all of the code in the book plus exercise solutions, and homework exercises/problems synchronized with the didactic sequencing of chapters in the book. With the exception of four chapters on system programming, the book can be used very successfully by a complete novice, as well as by an experienced UNIX system user, in both an informal and formal learning environment.
The book may be used in several computer science and information technology courses, including UNIX for beginners and advanced users, shell and Python scripting, UNIX system programming, UNIX network programming, and UNIX system administration. It may also be used as a companion to the undergraduate and graduate level courses on operating system concepts and principles.