实验一:操作系统的启动¶
就像宇宙的大爆炸,操作系统的启动是一切的起点。
在这个微妙的瞬间,一切从无到有,从混沌到秩序。
by Copilot
实验目的¶
- 了解页表的作用、ELF 文件格式、操作系统在 x86 架构的基本启动过程。
- 尝试使用 UEFI 加载并跳转到内核执行内核代码。
- 实现基于 uart16550 的串口驱动,使用宏启用输出能力、并启用日志系统。
- 学习并尝试使用调试器对内核进行调试。
实验基础知识¶
善用 LLM 进行学习
对于现代计算机专业的学生,建议并要求大家学习借助 LLM(Large Language Model)进行学习,这是一种非常有效的学习方法,可以帮助你更快的学习到知识。
对于不理解的知识点和概念,建议优先参考文档、借助 LLM 进行实践,在仍然无法解决的情况下再向他人提问。
确保你阅读了 寻求帮助 一节,这将帮助你更快的解决问题。
对于本次实验内容,你需要参考学习如下实验资料:
实验任务与要求¶
-
请各位同学独立完成作业,任何抄袭行为都将使本次作业判为 0 分。
-
请参考 代码与提交规范 进行实验代码编写。
-
依据 实验任务 完成实验。
- 代码编写任务:观察提供的代码,完善所有标记为
FIXME:
的部分,并验证结果是否符合预期。请在报告中介绍实现思路,截图展示关键结果。 - 思考任务:完成 “思考题” 和 “实验任务” 部分的内容,在报告中简要进行回答。注:思考题可能也是理解代码、实现功能的重要提示。
- Bonus 加分项:学有余力的同学可以任选 Bonus 部分完成,尝试完成更多的功能,并在报告中进行展示。这部分内容不是必须的要求。
- 代码编写任务:观察提供的代码,完善所有标记为
-
请在实验报告中涵盖相关任务的实现截图、实验任务对应问题的解答、实验过程中遇到的问题与解决方案等内容。