In the recent years, Linux, a public domain, freely available Unix variant has attracted the people very much. Today’s complex production environments demands superior application performance. Linux is having extraordinary advantages such as : complete source code access, availability of exceptional optimization, testing tools. This book is to explore this facet of Linux.
Features
Explained Linux success stories with emphasis on facilities and tools available in Linux for SW developmentExplains gcc (GNU) toolchain in detail, combining C and C++, C and Java, and C and Fortran in a lucid mannerHow command line arguments can be handled by C/C++ programs with getopt, argp library are dealtDiscusses about environment variables and their managementSystem limits are explored with their implication of program performanceExplains about how assembly programming can be done under LinuxHow to mix C and assembly, how system calls can be called from assembly, how modules can be developed in assembly and a bare boot (OS) program creation, are discussed in detail.How static and dynamic libraries are developed and commissioned in Linux is explained and how Libtool can be used for library development is discussedDealt with Lex/Yacc tools, which are to be used in compiler developmentMemory management, memory errors, Linux memory management, etc., are described with illustrative examplesA popularly used tool for detecting memory errors, Electric Fence, is explained with concept oriented examplesA chapter on Valgrind explained as to how memory can be checked for memory leaks, segment violations, analyze the cache performance in an illustrative mannerDescribes memory mapping of files, especially for large files and the impact on program’s performance.Gnu debugger (gdb) is detailed; gcov and gprof explains about profiling of a C program to improve its performance; make, rcs, SW tools explains how they can be used for SW development in practice.with concept oriented examples with special reference to Web enabled applications.
Contents
Programmers view of linuxCompiling C and C++ programs under linuxCommand line argumentsEnvironmentSystem limitsAssembly in linuxLibrariesLex & YaccUnix memory managementMemory mapped filesGNU debuggerGCOV: A coverage testing toolProfilingValgrind and AlleyoopMakeRevision Control SystemSW distribution tools
About the Authors
Dr. N. B. Venkateswarlu got his B.Tech from SV University, Tirupathi, M.Tech from IIT-Kanpur and Ph.D from BITS, Pilani on the topic of “Some Efficient Serial & Parallel Image Processing Algorithms”. He started his teaching career in the Computer Science Dept. of BITS Pilani, and was a Visiting Fellow at the University of Leeds, UK, during 1993-95. Currently, he is a senior Professor and Head, IT Department of GVP College of Engg, Madhurawada, Visakapatnam. He is also the founder Director of the RITCH Center at Visakhapatnam. He has contributed papers in International Journals and Conferences. He authored few titles related to UNIX/Linux