TheLinuxProgrammingInterface - (EPUB全文下载)
文件大小:4.87 mb。
文件格式:epub 格式。
书籍内容:
The Linux Programming Interface
Table of Contents
Praise for The Linux Programming Interface
Preface
1. History and Standards
A Brief History of UNIX and C
A Brief History of Linux
The GNU Project
The Linux Kernel
Standardization
The C Programming Language
The First POSIX Standards
X/Open Company and The Open Group
SUSv3 and POSIX.1-2001
SUSv4 and POSIX.1-2008
UNIX Standards Timeline
Implementation Standards
Linux, Standards, and the Linux Standard Base
Summary
2. Fundamental Concepts
The Core Operating System: The Kernel
The Shell
Users and Groups
Single Directory Hierarchy, Directories, Links, and Files
File I/O Model
Programs
Processes
Memory Mappings
Static and Shared Libraries
Interprocess Communication and Synchronization
Signals
Threads
Process Groups and Shell Job Control
Sessions, Controlling Terminals, and Controlling Processes
Pseudoterminals
Date and Time
Client-Server Architecture
Realtime
The /proc File System
Summary
3. System Programming Concepts
System Calls
Library Functions
The Standard C Library; The GNU C Library (glibc)
Handling Errors from System Calls and Library Functions
Notes on the Example Programs in This Book
Command-Line Options and Arguments
Common Functions and Header Files
Portability Issues
Feature Test Macros
System Data Types
Miscellaneous Portability Issues
Summary
Exercise
4. File I/O: The Universal I/O Model
Overview
Universality of I/O
Opening a File: open()
The open() flags Argument
Errors from open()
The creat() System Call
Reading from a File: read()
Writing to a File: write()
Closing a File: close()
Changing the File Offset: lseek()
Operations Outside the Universal I/O Model: ioctl()
Summary
Exercises
5. File I/O: Further Details
Atomicity and Race Conditions
File Control Operations: fcntl()
Open File Status Flags
Relationship Between File Descriptors and Open Files
Duplicating File Descriptors
File I/O at a Specified Offset: pread() and pwrite()
Scatter-Gather I/O: readv() and writev()
Truncating a File: truncate() and ftruncate()
Nonblocking I/O
I/O on Large Files
The /dev/fd Directory
Creating Temporary Files
Summary
Exercises
6. Processes
Processes and Programs
Process ID and Parent Process ID
Memory Layout of a Process
Virtual Memory Management
The Stack and Stack Frames
Command-Line Arguments (argc, argv)
Environment List
Accessing the environment from a program
Performing a Nonlocal Goto: setjmp() and long jmp()
Summary
Exercises
7. Memory Allocation
Allocating Memory on the Heap
Adjusting the Program Bre ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » TheLinuxProgrammingInterface - (EPUB全文下载)