DragonOS的内核初始化(x86_64架构)
信息
- 任务ID: #4
- 导师名单
- 难度:2颗星
- 辅导时间:7天
- 涉及的代码仓库: 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
- bbs链接: https://bbs.dragonos.org.cn/t/topic/372
任务的简介
本任务旨在引导新加入的社区成员通过阅读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函数中的代码,只需要理解代码的作用即可
- 思考任务