# 第三部分：程序间的交互和通信

- [第 10 章：系统级 I/O](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io.md)
- [10.1 Unix I/O](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.1-unix-io.md)
- [10.2 文件](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.2-files.md)
- [10.3 打开和关闭文件](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.3-opening-and-closing-files.md)
- [10.4 读和写文件](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.4-reading-and-writing-files.md)
- [10.5 用 RIO 包健壮地读写](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.5-robust-reading-and-writing-with-the-rio-package.md)
- [10.6 读取文件元数据](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.6-reading-file-metadata.md)
- [10.7 读取目录内容](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.7-reading-directory-contents.md)
- [10.8 共享文件](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.8-sharing-files.md)
- [10.9 I/O 重定向](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.9-io-redirection.md)
- [10.10 标准 I/O](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.10-standard-io.md)
- [10.11 综合：我该使用哪些 I/O 函数？](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.11-putting-it-together-which-io-functions-should-i-use.md)
- [10.12 小结](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/10.12-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part3/ch10-system-level-io/homework.md)
- [第 11 章：网络编程](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming.md)
- [11.1 客户端—服务器编程模型](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.1-the-client-server-programming-model.md)
- [11.2 网络](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.2-networks.md)
- [11.3 全球 IP 因特网](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.3-the-global-ip-internet.md)
- [11.4 套接字接口](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.4-the-sockets-interface.md)
- [11.5 Web 服务器](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.5-web-servers.md)
- [11.6 综合：TINY Web 服务器](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.6-putting-it-together-the-tiny-web-server.md)
- [11.7 小结](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/11.7-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part3/ch11-network-programming/homework.md)
- [第 12 章：并发编程](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming.md)
- [12.1 基于进程的并发编程](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.1-concurrent-programming-with-processes.md)
- [12.2 基于 I/O 多路复用的并发编程](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.2-concurrent-programming-with-io-multiplexing.md)
- [12.3 基于线程的并发编程](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.3-concurrent-programming-with-threads.md)
- [12.4 多线程程序中的共享变量](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.4-shared-variables-in-threaded-programs.md)
- [12.5 用信号量同步线程](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.5-synchronizing-thread-with-semaphores.md)
- [12.6 使用线程提高并行性](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.6-using-threads-for-parallelism.md)
- [12.7 其他并发问题](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.7-other-concurrency-issues.md)
- [12.8 小结](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/12.8-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part3/ch12-concurrent-programming/homework.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hansimov.gitbook.io/csapp/part3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
