Like The Linux Programming Interface?
Join aNobii to see if your friends read it, and discover similar books!
Book Description
The Linux Programming Interface describes the Linux API (application programming
interface)-the system calls, library functions, and other low-level ...
3 Reviews
-
luca said on Oct 8, 2010 | Add your feedback
-
cc said on May 2, 2012 | Add your feedback
-
cervantes.yu said on Nov 10, 2011 | Add your feedback
Book Details
-
Rating:




(7)
- English Books
- Others 1600 Pages
- ISBN-10: 1593272200
- ISBN-13: 9781593272203
- Publisher: No Starch Pr
- Pub date: Apr 15, 2010
Groups with this in collection
Prices Change currency & sellers
| ISBN | Edition | List | Sale | Seller |
|---|---|---|---|---|
| 9781593272203 | Others | $99.95 | $59.96 | bn.com |
| $99.95 | $73.10 | The Book Depository |
1 person find this helpful
L'intento del'autore - a suo dire - è quello di scrivere la nuova bibbia della programmazione su sistemi UNIX con kernel Linux, che potesse in un certo senso prendere il posto del mitico Stevens "Advanced Programming in the UNIX Environment".
L'obiettivo, diciamolo, è ammirevole e certamente ... (continue)
L'intento del'autore - a suo dire - è quello di scrivere la nuova bibbia della programmazione su sistemi UNIX con kernel Linux, che potesse in un certo senso prendere il posto del mitico Stevens "Advanced Programming in the UNIX Environment".
L'obiettivo, diciamolo, è ammirevole e certamente non sarà facile, si deve considerare che i lavori del compianto Richard Stevens sono difficilmente rimpiazzabili - sulla programmazione di rete peraltro ne ha scritti ben 5 -; anzitutto il libro in oggetto si occupa di una sola variante UNIX, quello di Stevens invece è dedicato a diverse classi di UNIX, entrambi i lavori però sono stati realizzati considerando lo standard POSIX,
Detto questo, "The Linux Programming Interface" è un testo eccellente, ma ci vuole del tempo per concluderlo, per cui d'ora in poi lo utilizzerò come reference per la programmazione di sistema su macchine con kernel Linux e via via che terminerò un argomento scriverò qualcosa.
Al momento, i primi 9 capitoli - History and Standards, Fundamental Concepts, System Programming Concepts, File I/O: The Universal I/O Model, File I/O: Further Details, Processes, Memory Allocation, Users and Groups, Process Credentials - sono stati impeccabili per forma e sostanza, sia dal punto di vista tecnico sia per ciò che concerne il linguaggio, l'inglese adoperato infatti è sì tecnico ma estremamente "easy", non ci sono periodi complessi nè particolari strutture narrative; per farla breve, è molto chiaro e accessibile.
A tal proposito mi preme far notare che l'autore - Michael Kerrisk[1] - è il manutentore delle "man page"[2] di Linux, per cui il suo valore è indiscusso; l'opera è monumentale, sono circa 1500 pagine, ogni capitolo è pieno di esempi pratici, peraltro c'è anche un sito[3] davvero completo e dettagliato dal quale è possibile, oltre che scaricare il codice sorgente degli esempi, anche verificare eventuali correzioni o errori che via via gli utenti segnaleranno.
L'accuratezza con cui è stato progettato il sito di supporto al libro, può far comprendere le potenzialità di "The Linux Programming Interface"; al momento ho attribuito 5 stelle anche per il supporto stesso fornito all'utente.
Nota finale: Il testo è meraviglioso, per ciò che concerne il kernel Linux non ha rivali, lo Stevens difatti è più incentrato sugli UNIX, questo invece è estremamente specifico proprio perchè tratta solo Linux. Sono certo che sarà per tanti anni una vera e propria bibbia.
Table of Contents
Preface
Chapter 1: History and Standards
Chapter 2: Fundamental Concepts
Chapter 3: System Programming Concepts
Chapter 4: File I/O: The Universal I/O Model
Chapter 5: File I/O: Further Details
Chapter 6: Processes
Chapter 7: Memory Allocation
Chapter 8: Users and Groups
Chapter 9: Process Credentials
Chapter 10: Time
Chapter 11: System Limits and Options
Chapter 12: System and Process Information
Chapter 13: File I/O Buffering
Chapter 14: File Systems
Chapter 15: File Attributes
Chapter 16: Extended Attributes
Chapter 17: Access Control Lists
Chapter 18: Directories and Links
Chapter 19: Monitoring File Events
Chapter 20: Signals: Fundamental Concepts
Chapter 21: Signals: Signal Handlers
Chapter 22: Signals: Advanced Features
Chapter 23: Timers and Sleeping
Chapter 24: Process Creation
Chapter 25: Process Termination
Chapter 26: Monitoring Child Processes
Chapter 27: Program Execution
Chapter 28: Process Creation and Program Execution in More Detail
Chapter 29: Threads: Introduction
Chapter 30: Threads: Thread Synchronization
Chapter 31: Threads: Thread Safety and Per-Thread Storage
Chapter 32: Threads: Thread Cancellation
Chapter 33: Threads: Further Details
Chapter 34: Process Groups, Sessions, and Job Control
Chapter 35: Process Priorities and Scheduling
Chapter 36: Process Resources
Chapter 37: Daemons
Chapter 38: Writing Secure Privileged Programs
Chapter 39: Capabilities
Chapter 40: Login Accounting
Chapter 41: Fundamentals of Shared Libraries
Chapter 42: Advanced Features of Shared Libraries
Chapter 43: Interprocess Communication Overview
Chapter 44: Pipes and FIFOs
Chapter 45: Introduction to System V IPC
Chapter 46: System V Message Queues
Chapter 47: System V Semaphores
Chapter 48: System V Shared Memory
Chapter 49: Memory Mappings
Chapter 50: Virtual Memory Operations
Chapter 51: Introduction to POSIX IPC
Chapter 52: POSIX Message Queues
Chapter 53: POSIX Semaphores
Chapter 54: POSIX Shared Memory
Chapter 55: File Locking
Chapter 56: Sockets: Introduction
Chapter 57: Sockets: UNIX Domain
Chapter 58: Sockets: Fundamentals of TCP/IP Networks
Chapter 59: Sockets: Internet Domains
Chapter 60: Sockets: Server Design
Chapter 61: Sockets: Advanced Topics
Chapter 62: Terminals
Chapter 63: Alternative I/O Models
Chapter 64: Pseudoterminals
Appendix A: Tracing System Calls
Appendix B: Parsing Command-Line Options
Appendix C: Casting the NULL Pointer
Appendix D: Kernel Configuration
Appendix E: Further Sources of Information
Appendix F: Solutions to Selected Exercises
[1] http://www.man7.org/
[2] http://www.kernel.org/doc/man-pages/
[3] http://www.man7.org/tlpi/
Is this helpful?