The online computer book shop for UK & Europe                                   

   Books Home | About Us | Index | Next Record | Browse

 
  

Tel: 0121 706 6000 

Static Book Details Page - Computer Manuals Website

 Linux System Programming
  

  Linux System Programming by Robert Love

  • Published by: O'REILLY & ASSOCIATES
  • Author: Robert Love
  • Page Count: 368
  • Group: LINUX - APPLICATIONS
  • ISBN: 0596009585/9780596009588
  • Published: Oct 2007

Our Price: 21.69
Discount: 30%
RRP: 30.99 

For Latest Pricing and Availability Click Here
 

The online computer book shop for UK & Europe

Book store with some thing for everyone

Book Information and Description:

Linux System Programming
This book is about writing software that makes the most
effective use of the system you're running on -- code that
interfaces directly with the kernel and core system
libraries, including the shell, text editor, compiler,
debugger, core utilities, and system daemons. The majority
of both Unix and Linux code is still written at the system
level, and Linux System Programming focuses on everything
above the kernel, where applications such as Apache, bash,
cp, vim, Emacs, gcc, gdb, glibc, ls, mv, and X exist.

Written primarily for engineers looking to program (better)
at the low level, this book is an ideal teaching tool for
any programmer. Even with the trend toward high-level
development, either through web software (such as PHP) or
managed code (C#), someone still has to write the PHP
interpreter and the C# virtual machine. Linux System
Programming gives you an understanding of core internals
that makes for better code, no matter where it appears in
the stack. Debugging high-level code often requires you to
understand the system calls and kernel behavior of your
operating system, too.

Key topics include:

An overview of Linux, the kernel, the C library, and the C
compiler
Reading from and writing to files, along with other basic
file I/O operations, including how the Linux kernel
implements and manages file I/O
Buffer size management, including the Standard I/O library
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
File and directories-creating, moving, copying, deleting,
and managing them
Memory management -- interfaces for allocating memory,
managing the memory you
have, and optimizing your memory access
Signals and their role on a Unix system, plus basic and
advanced signal interfaces
Time, sleeping, and clock management, starting with the
basics and continuing through POSIX clocks and high
resolution timers

With Linux System Programming, you will be able to take an
in-depth look at Linux from both a theoretical and an
applied perspective as you cover a wide range of programming
topics.

CONTENTS:

Foreword
Preface
1. Introduction and Essential Concepts
      System Programming
      APIs and ABIs
      Standards
      Concepts of Linux Programming
      Getting Started with System Programming
2. File I/O
      Opening Files
      Reading via read( )
      Writing with write( )
      Synchronized I/O
      Direct I/O
      Closing Files
      Seeking with lseek( )
      Positional Reads and Writes
      Truncating Files
      Multiplexed I/O
      Kernel Internals
      Conclusion
3. Buffered I/O
      User-Buffered I/O
      Standard I/O
      Opening Files
      Opening a Stream via File Descriptor
      Closing Streams
      Reading from a Stream
      Writing to a Stream
      Sample Program Using Buffered I/O
      Seeking a Stream
      Flushing a Stream
      Errors and End-of-File
      Obtaining the Associated File Descriptor
      Controlling the Buffering
      Thread Safety
      Critiques of Standard I/O
      Conclusion
4. Advanced File I/O
      Scatter/Gather I/O
      The Event Poll Interface
      Mapping Files into Memory
      Advice for Normal File I/O
      Synchronized, Synchronous, and Asynchronous Operations
      I/O Schedulers and I/O Performance
      Conclusion
5. Process Management
      The Process ID
      Running a New Process
      Terminating a Process
      Waiting for Terminated Child Processes
      Users and Groups
      Sessions and Process Groups
      Daemons
      Conclusion
6. Advanced Process Management
      Process Scheduling
      Yielding the Processor
      Process Priorities
      Processor Affinity
      Real-Time Systems
      Resource Limits
7. File and Directory Management
      Files and Their Metadata
      Directories
      Links
      Copying and Moving Files
      Device Nodes
      Out-of-Band Communication
      Monitoring File Events
8. Memory Management
      The Process Address Space
      Allocating Dynamic Memory
      Managing the Data Segment
      Anonymous Memory Mappings
      Advanced Memory Allocation
      Debugging Memory Allocations
      Stack-Based Allocations
      Choosing a Memory Allocation Mechanism
      Manipulating Memory
      Locking Memory
      Opportunistic Allocation
9. Signals
      Signal Concepts
      Basic Signal Management
      Sending a Signal
      Reentrancy
      Signal Sets
      Blocking Signals
      Advanced Signal Management
      Sending a Signal with a Payload
      Conclusion
10. Time
      Time's Data Structures
      POSIX Clocks
      Getting the Current Time of Day
      Setting the Current Time of Day
      Playing with Time
      Tuning the System Clock
      Sleeping and Waiting
      Timers
Appendix. GCC Extensions to the C Language
Bibliography
Index