Synopsis:
Linux Program Development is designed to bring experienced programmers up to speed quickly in a Linux environment. You will learn the tools and methods for developing C programs and doing systems programming under Linux, including: Compilers, compiling, linking and loading programs. Building and using both static and shared libraries. Using make and developing Makefiles. Version control. Debugging techniques. How system calls are made and the difference with regular library functions. The structure of Linux filesystems. File I/O functions, using both system-level and standard library calls. Advanced file operations, including directory and stat functions, and file locking. Process management, including forking and execing, exiting, process groups, and waiting. Pipes, unnamed and named (FIFO's). Signal dispatching and handling. Writing multi-threaded applications using the pthreads (Posix Threads) library and API. An introduction to network socket programming. System V and POSIX IPC, including shared memory, semaphores, and message queues. Upon mastering this material, you will have the necessary tools to develop advanced applications on a Linux system.
About the Author:
Jerry Cooperstein has been working with computers since 1969. He has a PhD in theoretical nuclear astrophysics, and has been using Linux since 1994. He has done many Linux engineering projects both at the application and kernel level and since 1998 has been developing and teaching courses on Linux Device Drivers, Kernel Internals and Systems Programming.
"About this title" may belong to another edition of this title.