# Introduction

* [ucore实验指导书](https://kelee.gitbook.io/ucore-os-on-risc-v64/)
* [ucore labs 1-8 源码](https://github.com/nkgongxl/ucoreonrv/tree/code_practice)

## 实验总体流程

1. 认真上操作系统的理论课程；
2. 阅读[ucore实验指导书](https://kelee.gitbook.io/ucore-os-on-risc-v64/)，并参考其内容完成联系和实验报告;
3. 在实验环境中完成实验并提交到自己的[github](https://github.com/)上；
4. 遇到问题，首先查询手册等其他资料，先自行解决；
5. 如若不能解决，可在飞书群里提问，可以互相讨论，有助教老师答疑。

## 学习目标与对应手段

1. 掌握OS基本概念：通过上课与学习教材，能理解OS原理与概念；阅读指导书并分析源码，能理解`lab_codes_answer`的labs运行结果。
2. 掌握OS设计实现：在1的基础上，能够通过编程完成`lab_codes`的8个lab实验中的基本练习和实验报告。
3. 掌握OS核心功能：在2的基础上，能够通过编程完成`lab_codes`的8个lab实验中的challenge练习。
4. 掌握OS科学研究：联系老师，加入实验室，开始科研吧。

## 友情提示

1. 课程铺垫——计算机组成原理、C语言、数据结构
2. 工具掌握——命令行 [shell](http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80)、软件管理 [apt-get](http://wiki.ubuntu.org.cn/Apt-get%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97)/[aptitude](https://blog.csdn.net/loongwong2011/article/details/52708818)、版本管理 [git](http://www.cnblogs.com/cspku/articles/Git_cmds.html)/[github](http://www.worldhello.net/gotgithub/index.html)、代码阅读 [understand](http://oslab.mobisys.cc/resource/Understand/)/[VSCode](https://segmentfault.com/a/1190000009519736)、代码比较 [diff](https://www.cnblogs.com/itech/archive/2009/08/19/1549729.html)/[meld](https://linuxtoy.org/archives/meld-2.html)、开发编译调试 [gcc](https://wiki.ubuntu.org.cn/Gcchowto)/[gdb](http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F)/[make](https://blog.csdn.net/a_ran/article/details/43937041)、硬件模拟器 [qemu](http://wenku.baidu.com/view/04c0116aa45177232f60a2eb.html)、md文档编写 [Typora](https://blog.csdn.net/qq_41261251/article/details/102817673)

## 实验报告要求

1. 独立完成；
2. 用Markdown语言编写；
3. 报告内容包括但不仅限于：实验目的、实验内容、实验步骤、实验结果、遇到的问题与解决方法；
4. 报告编写完需按时发送给助教并上传到自己的github仓库里。

## 维护者

<kelee@mail.nankai.edu.cn>

如若对本指导书有任何疑问，请联系维护者！

Reference

[ucore step by step](https://1790865014.gitbook.io/ucore-step-by-step/)


---

# 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://nankai.gitbook.io/ucore-os-on-risc-v64/master.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.
