Browse Source

doc: 添加kernel init task 源码阅读任务(#4)

* doc: 添加kernel init task

* 添加任务ID

* 将源码阅读任务加到目录中
黄铭涛 6 months ago
parent
commit
146a37b151

+ 1 - 1
educational-learning-courses/00-contents.md

@@ -8,4 +8,4 @@
 
 ## 源码阅读任务
 
-// TODO 待添加
+- [task-kernel_init](task-kernel_init.md)

+ 44 - 0
educational-learning-courses/task-kernel_init.md

@@ -0,0 +1,44 @@
+
+# DragonOS的内核初始化(x86_64架构)
+
+## 信息
+
+- 任务ID: #4
+- 导师名单
+  - [黄铭涛](https://github.com/1037827920): Sig-Cloud-Provider, 1037827920@qq.com
+- 难度:2颗星
+- 辅导时间:7天
+- 涉及的代码仓库: [DragonOS](https://github.com/DragonOS-Community/DragonOS)
+- 主要涉及的文件:
+  - kernel/src/arch/x86_64/init/mod.rs
+  - kernel/src/init/init.rs
+  - kernel/src/mm/init.rs
+  - kernel/src/filesystem/vfs/core.rs
+  - kernel/src/driver/base/init.rs
+  - kernel/src/sched/mod.rs
+  - kernel/src/time/timekeeping.rs
+  - kernel/src/process/kthread.rs
+
+
+## 任务的简介
+
+本任务旨在引导新加入的社区成员通过阅读DragonOS的内核初始化代码,理解其启动过程。从kernel/src/arch/x86_64/init/mod.rs的kernel_main开始阅读,重点分析kernel/src/init/init.rs文件中的关键函数**do_start_kernel**,学员将学习内核初始化涉及的各个步骤和组件,为云移植工作打下基础。
+
+
+## 任务目标
+
+学习目标: 
+- 涉及源码的哪些方面
+  - 分析do_start_kernel函数的实现,理解各个初始化步骤的作用和顺序
+  - 探索DragonOS在x86_64架构下的特殊初始化步骤和条件编译相关内容
+- 学员能够从中学到什么
+  - 掌握DragonOS内核初始化的基本流程
+  - 理解各个初始化函数的功能和调用顺序
+  - 学习如何通过阅读和分析源码来理解复杂系统的工作原理
+- 学员应当完成哪些思考任务 
+  - 分析每个初始化函数的作用及其对整个系统启动的影响
+  - 各个部分的初始化顺序重要吗?为什么?
+  - 思考在云环境下,哪些初始化步骤可能需要进行调整或兼容性处理
+- 学员需要提交哪些材料
+  - 源码阅读报告,详细描述do_start_kernel函数的各个步骤的初始化及其作用,对于不是do_start_kernel函数中的代码,只需要理解代码的作用即可
+  - 思考任务