- 1.1 History of UNIX and Linux
- 1.2 Key Features of the Linux Programming Interface
- 1.3 Comparison with Other Operating Systems
- 1.4 Overview of the Book
- 2.1 System Calls
- 2.2 Library Functions
- 2.3 Standard Input and Output
- 2.4 Error Handling
- 2.5 Files and Directories
- 3.1 Processes and Threads
- 3.2 Memory Management
- 3.3 Signals
- 3.4 Time and Timers
- 3.5 Users and Groups
- 3.6 Permissions and Access Control
- 4.1 The Universal I/O Model
- 4.2 File Descriptors
- 4.3 Opening and Closing Files
- 5.1 Reading and Writing Files
- 5.2 Seeking within a File
- 5.3 File and Record Locking
- 6.1 Buffered and Unbuffered I/O
- 6.2 Controlling Buffering with setvbuf()
- 6.3 Flushing Buffers with fflush()
- 7.1 Nonblocking I/O
- 7.2 Asynchronous I/O
- 7.3 Memory-mapped Files
- 8.1 Directory Operations
- 8.2 Symbolic and Hard Links
- 8.3 Monitoring File Changes with inotify()
- 9.1 Process Creation
- 9.2 Process Termination
- 10.1 Process Scheduling
- 10.2 Changing Process Priority
- 10.3 Process Resource Limits
- 10.4 Process Groups and Sessions
- 11.1 Parent-Child Relationships
- 11.2 Orphaned and Zombie Processes
- 12.1 Thread Creation and Termination
- 12.2 Thread Scheduling
- 13.1 Mutexes and Condition Variables
- 13.2 Read-Write Locks
- 13.3 Barriers and Thread-Safe Functions
- 14.1 Thread-Safe Functions
- 14.2 Reentrant Functions
- 15.1 IPC Mechanisms
- 15.2 Pros and Cons of IPC
- 16.1 Anonymous Pipes
- 16.2 Named Pipes (FIFOs)
- 17.1 Overview of Message Queues
- 17.2 Creating and Using Message Queues
- 17.3 Message Queue Limits and Permissions
- 18.1 Overview of Semaphores
- 18.2 Creating and Using Semaphores
- 18.3 Semaphore Limits and Permissions
- 19.1 Overview of Shared Memory
- 19.2 Creating and Using Shared Memory
- 19.3 Shared Memory Limits and Permissions
- 20.1 Overview of Sockets
- 20.2 Creating and Using Sockets
- 20.3 Socket Addresses and Ports
- 20.4 Socket Options
- 21.1 poll() and select()
- 21.2 eventfd() and timerfd()
- 22.1 Overview of Terminal I/O
- 22.2 Terminal Modes and Control Characters
- 22.3 Terminal I/O APIs
- 23.1 Executing Other Programs
- 23.2 Daemon Processes
- 23.3 Controlling and Debugging Processes
- 24.1 Network Protocols and APIs
- 24.2 Client-Server Communication with TCP/IP
- 24.3 Broadcasting and Multicasting
- 25.1 Overview of Signals
- 25.2 Signal Handling Functions
- 25.3 Advanced Signal Handling Techniques
- 26.1 Using Multiple IPC Mechanisms
- 26.2 Advanced IPC Techniques with Shared Memory
- 26.3 Advanced IPC Techniques with Sockets
本課文與目錄由chatGPT產生,並由人類小幫手挑選或增加提示以讓內容盡量對標坊間課堂所使用的標準課本,而非chatGPT產生什麼就直接貼上來。