
Linux Application Development (paperback)
by Johnson, Michael K.; Troan, Erik W.Rent Book
New Book
We're Sorry
Sold Out
Used Book
We're Sorry
Sold Out
eBook
We're Sorry
Not Available
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Michael K. Johnson is an operating system engineer at Specifix. He was formerly an operating system developer for Red Hat, where he managed the kernel team for three and a half years, and was founding technical leader of the Fedora Project. He occasionally teaches full-day tutorials on Linux application development.
Erik W. Troan, cofounder and Executive VP of Operating Systems at Specifix, was formerly Vice President of Product Engineering at Red Hat, where he was responsible for specifying and building technologies such as RPM, Linux operating systems, the Red Hat Network, high-performance Web servers, and the infrastructure for Red Hat's Web site.
Table of Contents
List of Tables | |
Code Examples | |
Preface | |
Getting Started | |
History of Linux Development | |
A Short History of Free Unix Software | |
Development of Linux | |
Notional Lineage of Unix Systems | |
Linux Lineage | |
Licenses and Copyright | |
Copyright | |
Licensing | |
Free Software Licenses | |
Online System Documentation | |
The man Pages | |
The Info Pages | |
Other Documentation | |
Development Tools and Environment | |
Development Tools | |
Editors | |
Make | |
The GNU Debugger | |
Tracing Program Actions | |
gcc Options and Extensions | |
gcc Options | |
Header Files | |
The GNU C Library | |
Feature Selection | |
POSIX Interfaces | |
Compatibility | |
Memory Debugging Tools | |
Buggy Code | |
Memory-Checking Tools Included in glibc | |
Finding Memory Leaks with mpr | |
Investigating Memory Errors with Valgrind | |
Electric Fence | |
Creating and Using Libraries | |
Static Libraries | |
Shared Libraries | |
Designing Shared Libraries | |
Building Shared Libraries | |
Installing Shared Libraries | |
Using Shared Libraries | |
Linux System Environment | |
The Process Environment | |
Understanding System Calls | |
Finding Header and Library Files | |
System Programming | |
The Process Model | |
Defining a Process | |
Process Attributes | |
Process Information | |
Process Primitives | |
Simple Children | |
Sessions and Process Groups | |
Introduction to ladsh | |
Creating Clones | |
Simple File Handling | |
The File Mode | |
Basic File Operations | |
Querying and Changing Inode Information | |
Manipulating Directory Entries | |
Manipulating File Descriptors | |
Creating Unnamed Pipes | |
Adding Redirection to ladsh | |
Signal Processing | |
Signal Concepts | |
The Linux (and POSIX) Signal API | |
Available Signals | |
Writing Signal Handlers | |
Reopening Log Files | |
Real-Time Signals | |
Learning About a Signal | |
Advanced File Handling | |
Input and Output Multiplexing | |
Memory Mapping | |
File Locking | |
Alternatives to read() and write() | |
Directory Operations | |
The Current Working Directory | |
Changing the Root Directory | |
Creating and Removing Directories | |
Reading a Directory's Contents | |
File Name Globbing | |
Adding Directories and Globbing to ladsh | |
Walking File System Trees | |
Directory Change Notification | |
Job Control | |
Job Control Basics | |
Job Control in ladsh | |
Terminals and Pseudo Terminals | |
tty Operations | |
termios Overview | |
termios Examples | |
termios Debugging | |
termios Reference | |
Pseudo ttys | |
Networking with Sockets | |
Protocol Support | |
Utility Functions | |
Basic Socket Operations | |
Unix Domain Sockets | |
Networking Machines with TCP/IP | |
Using UDP Datagrams | |
Socket Errors | |
Legacy Networking Functions | |
Time | |
Telling Time and Dates | |
Using Timers | |
Random Numbers | |
Pseudo-Random Numbers | |
Cryptography and Random Numbers | |
Programming Virtual Consoles | |
Getting Started | |
Beeping | |
Determining Whether the Terminal Is a VC | |
Finding the Current VC | |
Managing VC Switching | |
Example: The open Command | |
The Linux Console | |
Capability Databases | |
Glyphs, Charac | |
Table of Contents provided by Publisher. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.