# 第二部分：在系统上运行程序

- [第 7 章：链接](https://hansimov.gitbook.io/csapp/part2/ch07-linking.md)
- [7.1 编译器驱动程序](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.1-compiler-drviers.md)
- [7.2 静态链接](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.2-static-linking.md)
- [7.3 目标文件](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.3-object-files.md)
- [7.4 可重定位目标文件](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.4-relocatable-object-files.md)
- [7.5 符号和符号表](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.5-symbols-and-symbol-tables.md)
- [7.6 符号解析](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.6-symbol-resolution.md)
- [7.7 重定位](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.7-relocation.md)
- [7.8 可执行目标文件](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.8-executable-object-files.md)
- [7.9 加载可执行目标文件](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.9-loading-executable-object-files.md)
- [7.10 动态链接共享库](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.10-dynamic-linking-with-shared-libraries.md)
- [7.11 从应用程序中加载和链接共享库](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.11-loading-and-linking-shared-libraries-from-applications.md)
- [7.12 位置无关代码](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.12-position-independent-code.md)
- [7.13 库打桩机制](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.13-library-interpositioning.md)
- [7.14 处理目标文件的工具](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.14-tools-for-manipulating-object-files.md)
- [7.15 小结](https://hansimov.gitbook.io/csapp/part2/ch07-linking/7.15-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part2/ch07-linking/homework.md)
- [第 8 章：异常控制流](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow.md)
- [8.1 异常](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.1-exceptions.md)
- [8.2 进程](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.2-processes.md)
- [8.3 系统调用错误处理](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.3-system-call-error-handling.md)
- [8.4 进程控制](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.4-process-control.md)
- [8.5 信号](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.5-signals.md)
- [8.6 非本地跳转](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.6-nonlocal-jumps.md)
- [8.7 操作进程的工具](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.7-tools-for-manipulating-processes.md)
- [8.8 小结](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/8.8-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part2/ch08-exceptional-control-flow/homework.md)
- [第 9 章：虚拟内存](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory.md)
- [9.1 物理和虚拟寻址](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.1-physical-and-virtual-addressing.md)
- [9.2 地址空间](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.2-address-spaces.md)
- [9.3 虚拟内存作为缓存的工具](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.3-vm-as-a-tool-for-caching.md)
- [9.4 虚拟内存作为内存管理的工具](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.4-vm-as-a-tool-for-memory-management.md)
- [9.5 虚拟内存作为内存保护的工具](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.5-vm-as-a-tool-for-memory-protection.md)
- [9.6 地址翻译](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.6-address-translation.md)
- [9.7 案例研究：Intel Core i7 / Linux 内存系统](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.7-case-study-the-intel-core-i7-linux-memory-system.md)
- [9.8 内存映射](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.8-memory-mapping.md)
- [9.9 动态内存分配](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.9-dynamic-memory-allocation.md)
- [9.10 垃圾收集](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.10-garbage-collection.md)
- [9.11 C 程序中常见的与内存有关的错误](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.11-common-memoory-related-bugs-in-c-programs.md)
- [9.12 小结](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/9.12-summary.md)
- [家庭作业](https://hansimov.gitbook.io/csapp/part2/ch09-virtual-memory/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/part2.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.
