The Linux Programming Interface

The Linux programming interfaceFree Download The Linux Programming Interface Book in PDF written by Michael Kerrisk and published by No Starch Press, Inc.

According to the Author, “In this book, I describe the Linux programming interface—the system calls, library functions, and other low-level interfaces provided by Linux, a free implementation of the UNIX operating system. These interfaces are used, directly or indirectly, by every program that runs on Linux. They allow applications to perform tasks such as file I/O, creating and deleting files and directories, creating new processes, executing programs, setting timers, communicating between processes and threads on the same computer, and communicating between processes residing on different computers connected via a network. This set of low-level interfaces is sometimes also known as the system programming interface.

Although I focus on Linux, I give careful attention to standards and portability issues, and clearly distinguish the discussion of Linux-specific details from the discussion of features that are common to most UNIX implementations and standardized by POSIX and the Single UNIX Specification. Thus, this book also provides a comprehensive description of the UNIX/POSIX programming interface and can be used by programmers writing applications targeted at other UNIX systems or intended to be portable across multiple systems.

Intended audience

This book is aimed primarily at the following audience:

  • programmers and software designers building applications for Linux, other UNIX systems, or other POSIX-conformant systems;
  • programmers porting applications between Linux and other UNIX implementations or between Linux and other operating systems;
  • instructors and advanced students teaching or learning Linux or UNIX system programming; and
  • system managers and “power users” wishing to gain a greater understanding of the Linux/UNIX programming interface and of how various pieces of system software are implemented.

Most chapters conclude with a set of exercises, some of which are suggestions for various experiments using the provided example programs. Other exercises are questions relating to concepts discussed in the chapter, and still others are suggestions for programs you might write in order to consolidate your understanding of the material. You’ll find solutions to selected exercises in Appendix F.

Table of Contents

  1. HISTORY AND STANDARDS
  2. FUNDAMENTAL CONCEPTS
  3. SYSTEM PROGRAMMING CONCEPTS
  4. FILE I/O: THE UNIVERSAL I/O MODEL
  5. FILE I/O: FURTHER DETAILS
  6. PROCESSES
  7. MEMORY ALLOCATION
  8. USERS AND GROUPS
  9. PROCESS CREDENTIALS
  10. TIME
  11. SYSTEM LIMITS AND OPTIONS
  12. SYSTEM AND PROCESS INFORMATION
  13. FILE I/O BUFFERING
  14. FILE SYSTEMS
  15. FILE ATTRIBUTES
  16. EXTENDED ATTRIBUTES
  17. ACCESS CONTROL LISTS
  18. DIRECTORIES AND LINKS
  19. MONITORING FILE EVENTS
  20. SIGNALS: FUNDAMENTAL CONCEPTS
  21. SIGNALS: SIGNAL HANDLERS
  22. SIGNALS: ADVANCED FEATURES
  23. TIMERS AND SLEEPING
  24. PROCESS CREATION
  25. PROCESS TERMINATION
  26. MONITORING CHILD PROCESSES
  27. PROGRAM EXECUTION
  28. PROCESS CREATION AND PROGRAM EXECUTION IN MORE DETAIL
  29. THREADS: INTRODUCTION
  30. THREADS: THREAD SYNCHRONIZATION
  31. THREADS: THREAD SAFETY AND PER-THREAD STORAGE
  32. THREADS: THREAD CANCELLATION
  33. THREADS: FURTHER DETAILS
  34. PROCESS GROUPS, SESSIONS, AND JOB CONTROL
  35. PROCESS PRIORITIES AND SCHEDULING
  36. PROCESS RESOURCES
  37. DAEMONS
  38. WRITING SECURE PRIVILEGED PROGRAMS
  39. CAPABILITIES
  40. LOGIN ACCOUNTING
  41. FUNDAMENTALS OF SHARED LIBRARIES
  42. ADVANCED FEATURES OF SHARED LIBRARIES
  43. INTERPROCESS COMMUNICATION OVERVIEW
  44. PIPES AND FIFOS
  45. INTRODUCTION TO SYSTEM V IPC
  46. SYSTEM V MESSAGE QUEUES
  47. SYSTEM V SEMAPHORES
  48. SYSTEM V SHARED MEMORY
  49. MEMORY MAPPINGS
  50. VIRTUAL MEMORY OPERATIONS
  51. INTRODUCTION TO POSIX IPC
  52. POSIX MESSAGE QUEUES
  53. POSIX SEMAPHORES
  54. POSIX SHARED MEMORY
  55. FILE LOCKING
  56. SOCKETS: INTRODUCTION
  57. SOCKETS: UNIX DOMAIN
  58. SOCKETS: FUNDAMENTALS OF TCP/IP NETWORKS
  59. SOCKETS: INTERNET DOMAINS
  60. SOCKETS: SERVER DESIGN
  61. SOCKETS: ADVANCED TOPICS
  62. TERMINALS
  63. ALTERNATIVE I/O MODELS
  64. PSEUDOTERMINALS

Free Download The Linux Programming Interface Book in PDF written by Michael Kerrisk from following download links.

Download Link 1

Download Link 2

Download Link 3

File Size: 9.87 MB          Pages: 1556           Please Read Disclaimer

P.S. If download links are not working, kindly drop a comment below, so we’ll update the download link for you.

Happy downloading!

You may also like to download Operating Systems Internal and Design Principles (7th edition)

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.