> For the complete documentation index, see [llms.txt](https://pkuflyingpig.gitbook.io/pintos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pkuflyingpig.gitbook.io/pintos/project-description/lab3a-demand-paging.md).

# Lab3a: Demand Paging

{% hint style="warning" %} <mark style="color:red;">**Code Due: Thursday 05/28 11:59 pm**</mark>

<mark style="color:red;">**Design Doc Due: Sunday 05/31 11:59 pm**</mark>
{% endhint %}

**By now you should have some familiarity with the inner workings of Pintos.**

* Your OS can properly handle multiple threads of execution with proper synchronization, and can load multiple user programs at once.
* However, the number and size of programs that can run is limited by the machine's main memory size. In this assignment, you will remove that limitation.

<mark style="color:red;">**You will build this assignment on top of the last one.**</mark>

**Test programs from project 2 should also work with project 3.** You should take care to fix any bugs in your project 2 submission before you start work on project 3, because those bugs will most likely cause the same problems in project 3.

**You will continue to handle Pintos disks and file systems** **the same way you did in the previous assignment** (see section [Using the File System](/pintos/project-description/lab2-user-programs/background.md#using-the-file-system)).

**Here are the sections in this chapter:**

{% content-ref url="/pages/7CDg5BuFoMT890xs77PL" %}
[Background](/pintos/project-description/lab3a-demand-paging/background.md)
{% endcontent-ref %}

{% content-ref url="/pages/G91x7wqZaI3D3TFo4y92" %}
[Suggestions](/pintos/project-description/lab3a-demand-paging/suggestions.md)
{% endcontent-ref %}

{% content-ref url="/pages/8sOVTpAGNhG16MBPOU9S" %}
[Your Tasks](/pintos/project-description/lab3a-demand-paging/your-tasks.md)
{% endcontent-ref %}

{% content-ref url="/pages/hlxgdYdNHAr1SP9B4ejA" %}
[FAQ](/pintos/project-description/lab3a-demand-paging/faq.md)
{% endcontent-ref %}

{% content-ref url="/pages/Fc3d23fZkXRD9PUGWxB1" %}
[Submission](/pintos/project-description/lab3a-demand-paging/submission.md)
{% endcontent-ref %}
