资源说明:This book is broken into 11 chapters and two appendices.
Chapter 1, Introduction and Essential Concepts
This chapter serves as an introduction, providing an overview of Linux, system
programming, the kernel, the C library, and the C compiler. Even advanced users
should visit this chapter.
Chapter 2, File I/O
This chapter introduces files, the most important abstraction in the Unix environment,
and file I/O, the basis of the Linux programming mode. It covers reading
from and writing to files, along with other basic file I/O operations. The chapter
culminates with a discussion on how the Linux kernel implements and manages
files.
Chapter 3, Buffered I/O
This chapter discusses an issue with the basic file I/O interfaces—buffer size management—
and introduces buffered I/O in general, and standard I/O in particular,
as solutions.
Chapter 4, Advanced File I/O
This chapter completes the I/O troika with a treatment on advanced I/O interfaces,
memory mappings, and optimization techniques. The chapter is capped with a
discussion on avoiding seeks and the role of the Linux kernel’s I/O scheduler.
Chapter 5, Process Management
This chapter introduces Unix’s second most important abstraction, the process, and
the family of system calls for basic process management, including the venerable
fork.
Chapter 6, Advanced Process Management
This chapter continues the treatment with a discussion of advanced process management,
including real-time processes.
Chapter 7, Threading
This chapter discusses threads and multithreaded programming. It focuses on
higher-level design concepts. It includes an introduction to the POSIX threading
API, known as Pthreads.
Chapter 8, File and Directory Management
This chapter discusses creating, moving, copying, deleting, and otherwise managing
files and directories.
Chapter 9, Memory Management
This chapter covers memory management. It begins by introducing Unix concepts
of memory, such as the process address space and the page, and continues with a
discussion of the interfaces for obtaining memory from and returning memory to
the kernel. The chapter concludes with a treatment on advanced memory-related
interfaces.
Chapter 10, Signals
This chapter covers signals. It begins with a discussion of signals and their role on
a Unix system. It then covers signal interfaces, starting with the basic and concluding
with the advanced.
Chapter 11, Time
This chapter discusses time, sleeping, and clock management. It covers the basic
interfaces up through POSIX clocks and high-resolution timers.
Appendix A
The first appendix reviews many of the language extensions provided by gcc and
GNU C, such as attributes for marking a function constant, pure, or inline.
Appendix B
This bibliography of recommended reading lists both useful supplements to this
work, and books that address prerequisite topics not covered herein.
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。