# 实验总览

## 参考资料

* 实验材料
  * <http://csapp.cs.cmu.edu/3e/labs.html>
  * <https://github.com/Hansimov/csapp/tree/master/_labs>
* 书中所有示例代码
  * <http://csapp.cs.cmu.edu/3e/code.html>
  * <https://github.com/Hansimov/csapp/tree/master/_codes/code>
* 【读厚 CSAPP】实验概览 | 小土刀 2.0&#x20;
  * <https://wdxtub.com/csapp/thick-csapp-lab-0/2016/04/16/>

## 实验综述

所有 CS:APP 的实验都有如下共性：

* **经历了 CMU 课堂的考验。**&#x4F5C;者在 10 年时间里，在 150 \~ 250 名学生的课堂中开发和完善了这些实验。这门课得到了学生们的高度评价，他们通常认为这些实验是他们喜欢这门课的原因。
* **自动测试和评估驱动程序。**&#x5B66;生用 C 语言写解答，然后将其链接到 C 驱动程序中。驱动程序运行其解答，检查其正确性，并对解答进行定量评估。学生通过这些反馈逐步完善他们的解答。
* **解答。**&#x4E3A;每位讲师提供了每个实验的完整解答。
* **自动评分器。**&#x6BCF;个实验（Proxy Lab 除外）都有一个 Perl 自动评分器，为每个学生提交的文件运行驱动程序，并且打印一份 ASCII 成绩单。
* **完整的实验报告。**&#x6BCF;个实验都有一份完整的报告（用 Latex 编写），其中包含环境（context）、分步说明和对评分标准的解释。

## 实验链接

{% content-ref url="/pages/-MIi\_DlJbg8ojIFd9jBN" %}
[实验 1：Data Lab](/csapp/labs/data-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIibIxPDkggLNoJE5qf" %}
[实验 2：Bomb Lab](/csapp/labs/bomb-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIiem6-3bA7jEUZ4Ki1" %}
[实验 3：Attack Lab](/csapp/labs/attack-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIinQG55oqlpXgSqJLJ" %}
[实验 4：Architechture Lab](/csapp/labs/arch-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIj36qtl5a7NQOOc-wk" %}
[实验 5：Cache Lab](/csapp/labs/cache-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIj5YejlX96OkNSz4a\_" %}
[实验 6：Performance Lab](/csapp/labs/perf-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIj7I9j7fI8dhSrxW7t" %}
[实验 7：Shell Lab](/csapp/labs/shell-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIj8wxb4SoyJLkho3\_p" %}
[实验 8：Malloc Lab](/csapp/labs/malloc-lab.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIj9hsGFloj6iIfxXE-" %}
[实验 9：Proxy Lab](/csapp/labs/proxy-lab.md)
{% endcontent-ref %}


---

# 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/labs/labs-overview.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.
