Introduction to System Programming in Linux placeholder cover

Introduction to System Programming in Linux

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

Download Chapter 9: Timers and Sleep Functions

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

This book is an introduction to Unix system programming with an emphasis on Linux. While it mostly focuses on the kernel’s application programming interface, it also guides the inexperienced Linux user through the use of the bash shell and the most useful Unix tools, and it presents the underlying structure of the Linux kernel. The programming is entirely in C.

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 exercises help to cement lessons that build on one another through the book.

*Readers should have working knowledge of C or C++ programming and a familiarity with the Unix command line. No experience writing programs for Linux or Unix is necessary, but readers will need access to a Linux system with a programming environment.

Author Bio 

Stewart Weiss was a professor in the Computer Science Department of Hunter College for 38 years and was on the faculty of the Graduate Center of the City University of New York as well. Among the many courses he has taught are several that he developed, including Unix system programming, parallel computing, software testing, and open-source software development.

Weiss has written numerous articles about software engineering and received several grants from the National Science Foundation. He holds a PhD in Computer Science from the Courant Institute of Mathematical Science of New York University. He's been working with Unix and C since 1983 and is passionate about sharing his knowledge of Unix and Linux systems.

Table of contents 

Preface
Introduction 
Chapter 1: Core Concepts
Chapter 2: Fundamentals of System Programming
Chapter 3: Time, Dates, and Locales
Chapter 4: Basic Concepts of File I/O
Chapter 5: File I/O and Login Accounting
Chapter 6: Overview of Filesystems and Files
Chapter 7: The Directory Hierarchy
Chapter 8: Introduction to Signals
Chapter 9: Timers and Sleep Functions
Chapter 10: Process Fundamentals
Chapter 11: Process Creation and Termination
Chapter 12: Introduction to Interprocess Communication
Chapter 13: Pipes and FIFOs
Chapter 14: Client-Server Applications and Daemons
Chapter 15: Introduction to Threads
Chapter 16: Thread Synchronization
Chapter 17: Alternative Methods of I/O
Chapter 18: Terminals and Terminal I/O
Chapter 19: Interactive Programming and the NCurses Library
Appendix A: Creating Libraries
Appendix B: Unicode and UTF-8
Appendix C: Date and Time Format Specifiers

Bibliography
Index

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