diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 0fad9bf..9a05b82 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -44,9 +44,27 @@ - [设计概述](./chap06/design_overview.md) - - [底层库](./chap06/crates/crates.md) + - [底层组件](./chap06/crates/crates.md) - - [模块](./chap06/modules/modules.md) + - [各类驱动](./chap06/crates/drivers.md) + + - [内核数据结构](./chap06/crates/kernel-tools.md) + + - [内存分配及调度算法](./chap06/crates/algorithms.md) + + - [架构相关](./chap06/crates/arch-related.md) + + - [文件系统及 IO 类](./chap06/crates/fs-IO.md) + + - [页表项及页表](./chap06/crates/pte-pt.md) + + - [功能模块](./chap06/modules/modules.md) + + - [配置及运行时初始化](./chap06/modules/config-and-initialization.md) + + - [调试及开发工具](./chap06/modules/tools.md) + + - [内核子模块](./chap06/modules/kernel-submodules.md) - [9pfs](./chap06/modules/9pfs.md) diff --git a/src/chap06/crates/algorithms.md b/src/chap06/crates/algorithms.md new file mode 100644 index 0000000..5dab505 --- /dev/null +++ b/src/chap06/crates/algorithms.md @@ -0,0 +1 @@ +# 内存分配及调度算法 diff --git a/src/chap06/crates/arch-related.md b/src/chap06/crates/arch-related.md new file mode 100644 index 0000000..8d80193 --- /dev/null +++ b/src/chap06/crates/arch-related.md @@ -0,0 +1 @@ +# 架构相关 diff --git a/src/chap06/crates/crates.md b/src/chap06/crates/crates.md index d315c88..42abfd3 100644 --- a/src/chap06/crates/crates.md +++ b/src/chap06/crates/crates.md @@ -1,4 +1,26 @@ -# 底层库 +# 底层组件 -本章节将对 RuxOS 里面的重要的 crates 进行介绍。 +本章节将对 RuxOS 中的底层组件进行介绍。 + +RuxOS 底层组件部分移植于 ArceOS,此外,也补充、完善了部分组件的实现。RuxOS 组件的设计理念来源于组件化操作系统的启发,底层组件提供了独立的、可跨操作系统复用的基础功能。 + +RuxOS 底层组件有如下特点: + +- 充分解耦。不同组件之间代码完全独立,没有相互依赖。 + +- 开源共享。各个组件以独立的 Rust Crate 的形式存在,部分组件已由 r-core 社区发布到了 crates.io 中进行共享,丰富了组件化操作系统开源生态。 + +本章节中将对如下部分进行展开介绍: + +- [硬件及 VirtIO 驱动封装](./drivers.md)。包括了 RuxOS 目前支持的各类驱动的简介。 + +- [操作系统开发相关数据结构](./kernel-tools.md)。包含了操作系统中用于开发的软件实现,用以简化调度器、内存分配器等的实现。 + +- [内存分配及调度算法实现](./algorithms.md)。包含了对 RuxOS 目前支持的内存分配算法以及任务调度算法的简介。 + +- [架构相关模块](./arch-related.md)。包含了 AArch64 架构上特殊驱动,以及设备树等内容。 + +- [文件系统及 IO 类](./fs-IO.md)。包含了 RuxOS 目前适配的各类文件系统,以及为上层定义的基于 Rust 标准库的 IO 相关 trait。 + +- [页表项及页表](./pte-pt.md)。涵盖了多种架构,RuxOS 实现的页表项定义及相关方法实现。 diff --git a/src/chap06/crates/drivers.md b/src/chap06/crates/drivers.md new file mode 100644 index 0000000..1420b60 --- /dev/null +++ b/src/chap06/crates/drivers.md @@ -0,0 +1 @@ +# 各类驱动 diff --git a/src/chap06/crates/fs-IO.md b/src/chap06/crates/fs-IO.md new file mode 100644 index 0000000..74cf0ff --- /dev/null +++ b/src/chap06/crates/fs-IO.md @@ -0,0 +1 @@ +# 文件系统及 IO 类 diff --git a/src/chap06/crates/kernel-tools.md b/src/chap06/crates/kernel-tools.md new file mode 100644 index 0000000..2f02e30 --- /dev/null +++ b/src/chap06/crates/kernel-tools.md @@ -0,0 +1 @@ +# 内核数据结构 diff --git a/src/chap06/crates/pte-pt.md b/src/chap06/crates/pte-pt.md new file mode 100644 index 0000000..13691ad --- /dev/null +++ b/src/chap06/crates/pte-pt.md @@ -0,0 +1 @@ +# 页表项及页表 diff --git a/src/chap06/modules/config-and-initialization.md b/src/chap06/modules/config-and-initialization.md new file mode 100644 index 0000000..301a8b5 --- /dev/null +++ b/src/chap06/modules/config-and-initialization.md @@ -0,0 +1,6 @@ + + +# 配置及运行时初始化 + + + diff --git a/src/chap06/modules/kernel-submodules.md b/src/chap06/modules/kernel-submodules.md new file mode 100644 index 0000000..6e0f93b --- /dev/null +++ b/src/chap06/modules/kernel-submodules.md @@ -0,0 +1 @@ +# 内核子模块 diff --git a/src/chap06/modules/modules.md b/src/chap06/modules/modules.md index 5166dcb..495780e 100644 --- a/src/chap06/modules/modules.md +++ b/src/chap06/modules/modules.md @@ -1,4 +1,19 @@ -# 模块 +# 功能模块 + +本章节将对 RuxOS 中的内核功能模块进行介绍。 + +RuxOS 内核模块是对底层基础组件的封装,以及对 RuxOS 操作系统本身自定义的实现,这部分模块与具体操作系统紧耦合,与底层组件相反,不可跨操作系统共享。 + +RuxOS 内核模块兼容 Linux 的部分实现,也受 Linux 及诸多开源操作系统的启发,涵盖了操作系统引导、操作系统配置、初始化等多个过程,最终提供兼容 Linux 应用程序的运行环境。 + +本章节主要对以下 RuxOS 模块进行展开介绍。 + +- [RuxOS 配置及运行时初始化模块](./config-and-initialization.md)。涵盖了硬件、软件模块的初始化及使能,并构建内核、应用、标准库运行时环境。 + +- [RuxOS 工具](./tools.md)。包括用于调试的日志工具,用于开发的软件实现工具。 + +- [RuxOS 内核子模块](./kernel-submodules.md)。包含了 RuxOS 内核中各个具体功能模块的实现。 + +- [9pfs 适配](./9pfs.md)。从技术角度对 RuxOS 上适配 9pfs 的过程进行详细阐述。 -本章节将对 RuxOS 中的重要模块进行简要的介绍。 diff --git a/src/chap06/modules/tools.md b/src/chap06/modules/tools.md new file mode 100644 index 0000000..00ad824 --- /dev/null +++ b/src/chap06/modules/tools.md @@ -0,0 +1 @@ +# 调试及开发工具 diff --git a/src/chap07/ulib/ulib.md b/src/chap07/ulib/ulib.md index 5d62c52..1aa7446 100644 --- a/src/chap07/ulib/ulib.md +++ b/src/chap07/ulib/ulib.md @@ -5,6 +5,6 @@ * 什么是 [ruxlibc](./ruxlibc.md),以及如何使用 ruxlibc -* musl libc 如何集成到 RuxOS,以及如何使用 ruxmusl +* musl libc 如何集成到 RuxOS,以及如何使用 [ruxmusl](./ruxmusl.md) * 什么是 [ruxos-posix-api](./ruxos-posix-api.md),它与标准的 posix api 有哪些区别