|
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—trust me.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. This chapter 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, File and Directory Management - This chapter discusses creating, moving, copying, deleting, and otherwise managing files and directories. Chapter 8, 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 9, Signals - his 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 10, Time - This chapter discusses time, sleeping, and clock management. It covers the basic interfaces up through POSIX clocks and high-resolution timers. Appendix, GCC Extensions to the C Language - The Appendix reviews many of the optimizations provided by gcc and GNUC, such as attributes for marking a function constant, pure, and inline. The book concludes with a bibliography of recommended reading, listing both useful supplements to this work, and books that address prerequisite topics not covered herein. Download Free linux ebook: Linux System Programming
|
Operating System
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—trust me.