Introduction to System Programming in Linux placeholder cover

Introduction to System Programming in Linux

by Stewart N. Weiss
Spring 2025, 700 pp.
ISBN-13: 
9781718503564
Use coupon code PREORDER to get 25% off!

Linux and Unix are essentially two takes on the same operating system, with Linux serving as the free, open-source version.

This book serves as an all-around introduction to programming for a Linux or Unix operating system, covering how to write programs on and for the Linux OS, how to work efficiently within a Unix/Linux environment, and how the underlying design and structure of the Unix OS work.

The author’s friendly, conversational style reflects his more than 40 years of experience teaching this material. Numerous diagrams included in each chapter illustrate and simplify key concepts, while hands-on projects help to cement lessons that build on one another through the book.

*Prior programming experience, preferably in C or C++, is helpful but not required. No knowledge of Linux or Unix is necessary, but readers will need access to a Linux system.

Author Bio 

Stewart N. Weiss is a tenured associate professor in the Computer Science department at Hunter College. Weiss earned his PhD in computer science from the Courant Institute of Mathematical Science of New York University in 1987. He has been teaching a broad range of courses since 1982 and has developed  several new courses for the department, including  Unix system programming, parallel computing, and open-source software development.

Table of contents 

Foreword
Acknowledgments
Preface
Introduction
Chapter 1: Basics Concepts of Unix and System Programming
Chapter 2: Working in the Command Interface
Chapter 3: Fundamentals of System Programming
Chapter 4: Getting Started: Time and Locales
Chapter 5: Basic Concepts of File I/O
Chapter 6: Some Advanced Concepts of File I/O

Chapter 7: Overview of Filesystems and Files
Chapter 8: The Directory Hierarchy
Chapter 9: Introduction to Signals

Chapter 10: Timers and Sleep Functions
Chapter 11: Process Fundamentals

Chapter 12: Process Creation and Termination
Chapter 13: Threads
Chapter 14: Terminals and Terminal I/O
Chapter 15: Interactive Programming
Chapter 16: The NCurses Library
Chapter 17: Thread Synchronization
Chapter 18: Basics of Interprocess Communication
Chapter 19: Advanced Topics in Interprocess Communication
Chapter 20: Introduction to Sockets

Appendix A: Creating Libraries
Appendix B: System Limits
Appendix C: Date and Time Format Specifiers

Appendix D: Filters
Appendix E: Unicode and UTF-8
Appendix F: The Make Utility
Appendix G: Solutions to Selected Exercises
Bibliography

Index

The chapters in red are included in this Early Access PDF.