
| 本书描述了使用标准接口包括使用Linux独有的高级接口时,在功能和性能之间如何进行权衡取舍的策略。不仅阐释了系统接口应该如何工作,还介绍了它们实际上是如何工作的,以及怎样安全有效地使用它们。包含了帮助你在任何层面编写更佳代码的实用技巧。 |
| Robert Love很早就成为一位Linux用户和黑客。他一直并且充满激情地活跃在Linux内核与GNOME桌面社区之中。他近来为Linux内核作出的贡献包括内核事件层方面的工作以及inotify,GNOME相关的贡献包括Beagle、GNOME卷管理器、网络管理器以及Project utopia等。目前,Roberlt供职于Google开源软件办公室。 |
| Foreword Preface 1. Introduction and Essential Concepts System Programming APIs and ABIs Standards Concepts of Linux Programming Getting Started with Syster~ 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/0 User-Buffered I/0 Standard I/0 Opening Files Opening a Stream via File Descriptor Closing Streams Reading from a Stream Writing to a Stream Sample Program Using Buffered I/0 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/0 Conclusion 4. Advanced File I/0 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. Fileand 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 Memory Mappings Advanced Memory Allocation Debugging Memory Allocati…… |
商品评论(0条)