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.
Table of Contents
Overview of Operating Systems
A "Quick Start" into the UNIX Operating System
Editing Text Files
Files and File System Structure
Basic File Processing
Advanced File Processing
Redirection and Piping
Networking and Internetworking
Introductory Bourne Shell Programming
Advanced Bourne Shell Programming
Introductory C Shell Programming
Advanced C Shell Programming
NIX Tools for Software Development
System Programming I: File System Management
System Programming II: Process Management and Signal Processing
System Programming III: Interprocess Communication
System Programming IV: Practical Considerations
UNIX X Window System GUI Basics
UNIX System Administration Fundamentals
ZFS Administration and Use
Mansoor Sarwar is a professor and principal at Punjab University College of Information Technology (PUCIT), and a former tenured associate professor in the Multnomah School of Engineering at the University of Portland (UP), Oregon. He received his MS and PhD in Computer Engineering from the Iowa State University (ISU), Ames, Iowa, and has over 28 years of post-PhD experience in teaching and research. He has over 35 research publications in international journals and conferences. He was nominated for the Best Graduate Researcher Award at ISU for his PhD research, and Best Researcher and Best Teacher awards at UP. He has been learning, using, and teaching UNIX since 1986. His family is spread over three continents: he currently resides in Lahore with his wife and younger son. His daughter is pursuing her masters degree in Textile Design Innovation in UK, and his older son runs a software company in Los Angeles.
Robert M. Koretsky is a retired lecturer in Mechanical Engineering at the Multnomah School of Engineering at the University of Portland, in Portland, Oregon. Principally educated at the Pratt Institute, in Brooklyn, New York, he has also worked as an Automotive Engineering Designer with the Freightliner Corp. in Portland. He currently resides in Portland, with his wife, two children, and two grandchildren.
Together, they are the authors of four textbooks on UNIX and Linux.
"… an in-depth and detailed presentation of the UNIX system."
—Hussein Abdel-Wahab, Department of Computer Science, Old Dominion University
"I have utilized Unix: The Textbook for classes I have taught, and recommend it as a reference for Unix users at all levels. This new edition has many updates, including new content for networking, graphical interfaces, and other contemporary topics. Students will appreciate the incremental introduction to Unix, and experts will appreciate the thoroughness and depth."
—Dr. Gregory Newby, research computing expert