US TOLL FREE: 1-888-681-4948
Home
Shopping Cart
Contact Us
Search
Advanced search
Game Programming
Graphic Design
Web Design
Programming
SEO
More ..
Game Programming
Graphic Design
Web Design
Programming
SEO
Networking
Information Management
Multimedia
Computer Science
Computer Geek Books
::
Networking
:: GNU/LINUX Applications Programming
Printable version
Bestsellers
1.
Microsoft Windows XP: Comprehensive Concepts and Techniques, Service Pack 2 Edition
Special
Gift certificates
Help
Contact us
Privacy statement
GNU/LINUX Applications Programming
The wide range of applications available in GNU/Linux includes not only pure applications, but also tools and utilities for the GNU/Linux environment. GNU/Linux Application Programming takes a holistic approach to teaching developers the ins-and-outs of GNU/Linux programming using APIs, tools, communication, and scripting. Covering a variety of topics related to GNU/Linux application programming, the book is split into six parts: The GNU/Linux Operating System, GNU Tools, Application Development, Advanced Topics (including communication and synchronization and distributed computing), Debugging GNU/Linux Applications, and Scripting. The book introduces programmers to the environment from the lowest layers (kernel, device drivers, modules) to the user layer (applications, libraries, tools), using an evolutionary approach that builds on knowledge to cover the more complex aspects of the operating system. Through a readable, code-based style developers will learn about the relevant topics of file handling, pipes and sockets, processes and POSIX threads, inter-process communication, and other development topics. After working through the text, theyíll have the knowledge base and skills to begin developing applications in the GNU/Linux environment. Reader?s Guide Acknowledgments Part I Introduction 1 GNU/Linux History History of the UNIX Operating System AT&T UNIX BSD GNU/Linux History GNU and the Free Software Foundation The Linux Kernel Bringing It Together Linux Distributions 2 GNU/Linux Architecture High-Level Architecture Linux Kernel Architecture GNU System Libraries (glibc) System Call Interface Kernel Components Device Drivers Architecture-Dependent Code Hardware 3 Free Software Development Open Source versus Free Software Anatomy of a Free Software Project Open Source Licenses GPL Qt Public License BSD License Summary Problems with Open Source Development Part II GNU Tools 4 The GNU Compiler Toolchain Introduction to Compilation Patterns for GCC (Compile, Compile and Link) Useful Options Compiler Warnings GCC Optimizer -00 Optimization -01 Optimization (-0) -02 Optimization -0s Optimization -03 Optimization Architectural Optimizations Debugging Options Other Tools 5 Building Software with GNU make by Curtis Nottberg An Example Project Compiling by Hand A Build Script A Simple Makefile Makefile Variables Pattern Matching Rules Automatic Dependency Tracking 6 Building and Using Libraries What Is a Library? Building Static Libraries Building Shared Libraries Dynamically Loaded Libraries file size nm objdump ranlib Dynamic Library APIs 7 Coverage Testing with GNU gcov Introduction What Is gcov? Preparing the Image Using the gcov Utility Options Available for gcov Considerations 8 Profiling with GNU gprof What Is Profiling? What Is gprof? Preparing the Image Using the gprof Utility Options Available for gprof Considerations 9 Building Packages with automake/autoconf by Curtis Nottberg An Example Project A Makefile Solution A Simple Implementation Using Autotools automake autoconf The configure Script 1 The Generated Makefiles Part III Application Development Topics 10 File Handling in GNU/Linux File Handling with GNU/Linux File Handling API Exploration Creating a File Handle Opening a File Reading and Writing Data Reading and Writing Binary Data Base API File Handling APIs 11 Programming with Pipes The Pipe Model Pipes and Named Pipes Whirlwind Tour Detailed Review pipe dup and dup2 mkfifo System Commands mkfifo Pipe Programming APIs 12 Introduction to Sockets Programming Layered Model of Networking Sockets Programming Paradigm Hosts Protocol Port Addressing The Socket Client/Server Model Sample Application Daytime Server Daytime Client Sockets API Summary Creating and Destroying Sockets Socket Addresses Socket Primitives Other Miscellaneous Functions Multilanguage Perspectives Sockets Programming APIs 13 GNU/Linux Process Model GNU/Linux Processes Whirlwind Tour of Process APIs Creating a Subprocess with fork Synchronizing with the Creator Process Catching a Signal Raising a Signal Traditional Process API fork 184 wait 185 waitpid signal pause kill raise exec Variants alarm exit POSIX Signals System Commands ps top kill API Summary 14 POSIX Threads (Pthreads) Programming What?s a Thread? Thread Function Basics The Pthreads API Thread Basics Thread Management Thread Synchronization Thread Mutexes Thread Condition Variables Building Threaded Applications API Summary 15 IPC with Message Queues Quick Overview of Message Queues Creating a Message Queue Configuring a Message Queue Writing a Message to a Message Queue Reading a Message from a Message Queue Removing a Message Queue The Message Queue API msgget msgctl msgsnd msgrcv User Utilities Message Queue APIs 16 Synchronization with Semaphores Introduction Semaphore Theory Types of Semaphores Quick Overview of GNU/Linux Semaphores Creating a Semaphore Getting and Releasing a Semaphore Configuring a Semaphore Removing a Semaphore The Semaphore API semget semctl semop User Utilities Semaphore APIs 17 Shared Memory Programming Quick Overview of Shared Memory Create a Shared Memory Segment Getting Information on a Shared Memory Segment Attaching and Detaching a Shared Memory Segment Using a Shared Memory Segment Removing a Shared Memory Segment Shared Memory APIs shmget shmctl shmat shmdt Using a Shared Memory Segment User Utilities Shared Memory APIs 18 Other Application Development Topics Parsing Command-Line Options with getopt and getopt_long Time API Gathering System Information with sysinfo Mapping Memory with mmap Locking and Unlocking Memory API Summary 326 Part IV GNU/Linux Shells and Scripting 19 GNU/Linux Commands Redirection Standard In/Out/Error Environment Variables Script Invocation Basic GNU/Linux Commands 20 Bourne-Again Shell (bash) Introduction Preliminaries Sample Script Bash Scripting Variables Conditional Structures Looping Structures Input and Output Functions Sample Scripts Scripting Language Alternatives 21 Editing with sed Introduction Anatomy of a Simple Script sed Spaces (Buffers) Typical sed Command-Line Options Regular Expressions Ranges and Occurrences Essential sed Commands Substitute (s) Delete (d) Print (p) Appending (a), Inserting (i), and Changing (c) Lines Quit (q) Transformation (y) Line Numbering (=) Holding the Pattern Space (h) Some Useful sed One-Liners 22 Text Processing with Awk Short History Awk Structure Command-Line Awk Scripted Awk Other Awk Patterns Useful Awk One-Liners 23 Parser Generation with flex and bison Lexical Analysis and Grammar Parsing Lexer and Parser Communication flex bison Building a Simple Configuration Parser Configuration File Lexical Analyzer The Big Picture Part V Debugging and Testing 24 Software Unit Testing Frameworks Introduction Unit Testing Unit Testing Frameworks Brew Your Own C Unit Test System Embedded Unit Test expect Utility 25 Debugging with GDB Introduction Compiling for GDB Using GDB Starting GDB Looking at Source Using Breakpoints Stepping Through the Source Inspecting Data Changing Data Examining the Stack Stopping the Program Other GDB Debugging Topics Multiprocess Application Debugging Multithreaded Application Debugging Debugging an Existing Process Postmortem Debugging 26 Code Hardening Introduction Code Hardening Techniques Return Values Strongly Consider User/Network I/O Use Safe String Functions Buffer Overflow Provide Logical Alternatives at Decision Points Self-Identifying Structures Reporting Errors Reducing Complexity Also Reduces Potential Bugs Self-Protective Functions Maximize Debug Output Memory Debugging Compiler Support Source Checking Tools Code Tracing Appendix A: Acronyms and Partial Acronyms Appendix B: About the CD-ROM Appendix C: Software License 1584503718
Details
Quantity
500
item(s) available
Weight
2.00
lbs
Price:
$49.95
Options
Quantity
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Add to cart
Send to friend
Your name:
*
Your e-mail:
*
Recipient's e-mail:
*
Send to friend
Recommended products list
Digital Movies With Quicktime
Microsoft Office PowerPoint 2003: Comprehensive Concepts and Techniques, CourseCard Edition
Computer Graphics Dictionary
Object-Oriented Analysis and Design with the Unified Process
XHTML, Introductory
A First Book of C++, From Here to There, Third Edition
Microsoft Office 2003 Illustrated Second Course
WebCT Student User Guide (generic, no PIN)
Sample Edition: Microsoft Visual C# .NET
Microsoft Office Word 2003: Comprehensive Concepts and Techniques, CourseCard Edition
Product rating
Product rating
Voting
Select your rating...
Excellent!
Very good
Good
Fair
Poor
Add your review here
Your name:
Your message:
Your cart
Cart is empty
View cart
Checkout
Authentication
Username
Password
Login
Register
Recover password
If Javascript is disabled in your browser click here
Powered by
X-Cart: shopping cart system
Copyright © 2006-2007 Computer Geek Books