Beginning Linux Programming Fourth Edition continues its unique approach to teaching UNIX programming in a simple & structured way on the Linux platform. Through the use of detailed & realistic examples students learn by doing & are able to move from being a Linux beginner to creating custom applications in Linux. The book introduces fundamental concepts beginning with the basics of writing Unix programs in C & including material on basic system calls file I/O interprocess communication (for getting programs to work together) & shell programming. Parallel to this the book introduces the toolkits & libraries for working with user interfaces from simpler terminal mode applications to X & GTK+ for graphical user interfaces. Advanced topics are covered in detail such as processes pipes semaphores socket programming using My SQL writing applications for the GNOME or the KDE desktop writing device drivers POSIX Threads & kernel programming for the latest Linux Kernel.