# Lab0: Getting Real

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

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

**This assignment is set to prepare you for the later Pintos projects.** It will walk you through **what happens after a PC is powered on till when an operating system is up and running**, which you may have wondered about before.

* You will set up the development environment, learn the Pintos workflow, and run/debug it in QEMU and Bochs.
* You will then do a simple programming exercise to add a tiny kernel monitor to Pintos.
* Note that this assignment is much simpler than the remaining projects, because it is intentionally designed to help you warm up.

Before you read the description of this project, read the [Loading](https://pkuflyingpig.gitbook.io/pintos/appendix/reference-guide/loading) section in Code Guide to understand the source-code-level details of the booting process.

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

{% content-ref url="lab0-booting/background" %}
[background](https://pkuflyingpig.gitbook.io/pintos/project-description/lab0-booting/background)
{% endcontent-ref %}

{% content-ref url="lab0-booting/your-tasks" %}
[your-tasks](https://pkuflyingpig.gitbook.io/pintos/project-description/lab0-booting/your-tasks)
{% endcontent-ref %}

{% content-ref url="lab0-booting/faq" %}
[faq](https://pkuflyingpig.gitbook.io/pintos/project-description/lab0-booting/faq)
{% endcontent-ref %}

{% content-ref url="lab0-booting/submission" %}
[submission](https://pkuflyingpig.gitbook.io/pintos/project-description/lab0-booting/submission)
{% 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://pkuflyingpig.gitbook.io/pintos/project-description/lab0-booting.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.
