Linux System Programming
System and Library Calls Every Programmer Needs to Know
(Sprache: Englisch)
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...
Leider schon ausverkauft
versandkostenfrei
Buch
41.00 €
Produktdetails
Produktinformationen zu „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.
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.
Klappentext zu „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 (Csharp), someone still has to write the PHP interpreter and the Csharp 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 youhave, 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 timersWith Linux System
... mehr
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.
... weniger
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.
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.
Inhaltsverzeichnis zu „Linux System Programming “
InhaltsverzeichnisForeword
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
... mehr
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
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
... weniger
Autoren-Porträt von Robert Love
Robert Love has been a Linux user and hacker since the early days. He is active in--and passionate about--the Linux kernel and GNOME desktop communities. His recent contributions to the Linux kernel include work on the kernel event layer and inotify. GNOME-related contributions include Beagle, GNOME Volume Manager, NetworkManager, and Project Utopia. Currently, Robert works in the Open Source Program Office at Google.Robert is the author of Linux Kernel Development (SAMS 2005) and the co-author of Linux in a Nutshell (2006 O'Reilly). He is also a Contributing Editor at Linux Journal. He is currently working on a new work for O'Reilly that will be the greatest book ever written, give or take. Robert holds a B.A. in Mathematics and a B.S. in Computer Science from the University of Florida. A proud Gator, Robert was born in South Florida but currently calls home Cambridge, MA.
Bibliographische Angaben
- Autor: Robert Love
- 2007, 388 Seiten, Maße: 17,7 x 23,5 cm, Kartoniert (TB), Englisch
- Herausgegeben: Andy Oram
- Verlag: O'Reilly Associates
- ISBN-10: 0596009585
- ISBN-13: 9780596009588
Sprache:
Englisch
Rezension zu „Linux System Programming “
"[S]ehr gut strukturiert und sehr verständlich geschrieben. [...] Was mir besonders gut gefällt: das Buch eignet sich sowohl zum Lernen als auch als Nachschlagewerk. Und dank der klaren Gliederung können sich die Studierenden die relevanten Kapitel zum Lernen herauspicken. Die Code-Beispiele sind gut lesbar gesetzt und verdeutlichen den direkten Einsatz der vorher erklärten Systemaufrufe" - Prof. Dr. Carsten Gips, FH Bielefeld, Januar 2012
Kommentar zu "Linux System Programming"
0 Gebrauchte Artikel zu „Linux System Programming“
Zustand | Preis | Porto | Zahlung | Verkäufer | Rating |
---|
Schreiben Sie einen Kommentar zu "Linux System Programming".
Kommentar verfassen