"This books is for anyone who already knows another programming language, and wants to be able to use C well. It is ideal for students of computer science who have taken an introductory programming course and need to progess rapidly to C before taking a course on operating systems or systems programming. It is also suitable for professionals, providing a comprehensive tutorial on C as well as a lasting reference book. Emphasis throughout is on developing a programming style which ensures safe code, that is both readable and maintainable. At the same time, the reader is encouraged to make full use of the standard libraries available in the UNIX environment and to acquire the UNIX 'tools' philosophy."--Jacket.
For intermediate to experienced C programmers who want to become UNIX system programmers. Explains system calls and special library routines available on the system. Annotation copyrighted by Book News, Inc., Portland, OR
The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of "hackers" the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.
This work presents the full range of UNIX/C tools in the context of a full software life cycle. The authors show how to use UNIX tools and the C language to produce reliable, efficient, and maintainable software products.
Beginning computing students often finish the introduction to programming course without having had exposure to various system tools, without knowing how to optimize program performance and without understanding how programs interact with the larger computer system. Adam Hoover's System Programming with C and Unix introduces students to commonly used system tools (libraries, debuggers, system calls, shells and scripting languages) and then explains how to utilize these tools to optimize program development. The text also examines lower level data types with an emphasis on memory and understanding how and why different data types are used.
Write software that draws directly on services offered by the Linux kernel and core system libraries. With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing smarter, faster code. Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including: A Linux kernel, C library, and C compiler overview Basic I/O operations, such as reading from and writing to files Advanced I/O interfaces, memory mappings, and optimization techniques The family of system calls for basic process management Advanced process management, including real-time processes Thread concepts, multithreaded programming, and Pthreads File and directory management Interfaces for allocating memory and optimizing memory access Basic and advanced signal interfaces, and their role on the system Clock management, including POSIX clocks and high-resolution timers