commit 623d927c6b5a4fd5fffc194294f7c99e1ca59f11 Author: Runji Wang Date: Mon Jul 20 01:18:20 2020 +0800 init outline diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..7585238 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +book diff --git a/docs/book.toml b/docs/book.toml new file mode 100644 index 0000000..15e81fa --- /dev/null +++ b/docs/book.toml @@ -0,0 +1,6 @@ +[book] +authors = ["Runji Wang"] +language = "cn" +multilingual = false +src = "src" +title = "简明 zCore 教程" diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md new file mode 100644 index 0000000..e7e8b04 --- /dev/null +++ b/docs/src/SUMMARY.md @@ -0,0 +1,27 @@ +# 简明 zCore 教程 + +[简明 zCore 教程](title-page.md) +[zCore 整体结构和设计模式](zcore-intro.md) +[Fuchsia OS 和 Zircon 微内核](fuchsia.md) + +- [内核对象](ch01-00-object.md) + - [初识内核对象](ch01-01-kernel-object.md) + - [对象管理器:Process 对象](ch01-02-process-object.md) + - [对象传送器:Channel 对象](ch01-03-channel-object.md) + +- [任务管理](ch02-00-task.md) + - [Zircon 任务管理体系](ch02-01-zircon-task.md) + - [硬件抽象层与异步运行时](ch02-02-hal-async.md) + - [线程管理:Thread 对象](ch02-03-thread-object.md) + - [进程管理:Process 与 Job 对象](ch02-04-process-job-object.md) + +- [内存管理](ch03-00-memory.md) + - [Zircon 内存管理模型](ch03-01-zircon-memory.md) + - [物理内存:VMO 对象](ch03-02-vmo.md) + - [虚拟内存:VMAR 对象](ch03-03-vmar.md) + +- [用户程序](ch04-00-userspace.md) + - [Zircon 用户程序](ch04-01-user-program.md) + - [加载 ELF 文件](ch04-02-load-elf.md) + - [上下文切换](ch04-03-context-switch.md) + - [系统调用](ch04-04-syscall.md) diff --git a/docs/src/ch01-00-object.md b/docs/src/ch01-00-object.md new file mode 100644 index 0000000..fc4e580 --- /dev/null +++ b/docs/src/ch01-00-object.md @@ -0,0 +1 @@ +# 内核对象 diff --git a/docs/src/ch01-01-kernel-object.md b/docs/src/ch01-01-kernel-object.md new file mode 100644 index 0000000..1ca7c55 --- /dev/null +++ b/docs/src/ch01-01-kernel-object.md @@ -0,0 +1,7 @@ +# 初识内核对象 + +## 实现 KernelObject 接口 + +## 句柄 Handle + +## 权限 Rights \ No newline at end of file diff --git a/docs/src/ch01-02-process-object.md b/docs/src/ch01-02-process-object.md new file mode 100644 index 0000000..f8a9c44 --- /dev/null +++ b/docs/src/ch01-02-process-object.md @@ -0,0 +1,7 @@ +# 对象管理器:Process 对象 + +## 实现第一个内核对象 + +## 存储内核对象句柄 + +## 根据句柄查找内核对象 diff --git a/docs/src/ch01-03-channel-object.md b/docs/src/ch01-03-channel-object.md new file mode 100644 index 0000000..fbd5baa --- /dev/null +++ b/docs/src/ch01-03-channel-object.md @@ -0,0 +1,5 @@ +# 对象传送器:Channel 对象 + +## 创建一对内核对象 + +## 实现数据传输 diff --git a/docs/src/ch02-00-task.md b/docs/src/ch02-00-task.md new file mode 100644 index 0000000..88b2bb9 --- /dev/null +++ b/docs/src/ch02-00-task.md @@ -0,0 +1 @@ +# 任务管理 diff --git a/docs/src/ch02-01-zircon-task.md b/docs/src/ch02-01-zircon-task.md new file mode 100644 index 0000000..173b95f --- /dev/null +++ b/docs/src/ch02-01-zircon-task.md @@ -0,0 +1 @@ +# Zircon 任务管理体系 diff --git a/docs/src/ch02-02-hal-async.md b/docs/src/ch02-02-hal-async.md new file mode 100644 index 0000000..94dd6df --- /dev/null +++ b/docs/src/ch02-02-hal-async.md @@ -0,0 +1 @@ +# 硬件抽象层与异步运行时 diff --git a/docs/src/ch02-03-thread-object.md b/docs/src/ch02-03-thread-object.md new file mode 100644 index 0000000..2fc0e3e --- /dev/null +++ b/docs/src/ch02-03-thread-object.md @@ -0,0 +1 @@ +# 线程管理:Thread 对象 diff --git a/docs/src/ch02-04-process-job-object.md b/docs/src/ch02-04-process-job-object.md new file mode 100644 index 0000000..4f0a5ee --- /dev/null +++ b/docs/src/ch02-04-process-job-object.md @@ -0,0 +1 @@ +# 进程管理:Process 与 Job 对象 diff --git a/docs/src/ch03-00-memory.md b/docs/src/ch03-00-memory.md new file mode 100644 index 0000000..cbfa311 --- /dev/null +++ b/docs/src/ch03-00-memory.md @@ -0,0 +1 @@ +# 内存管理 diff --git a/docs/src/ch03-01-zircon-memory.md b/docs/src/ch03-01-zircon-memory.md new file mode 100644 index 0000000..146173c --- /dev/null +++ b/docs/src/ch03-01-zircon-memory.md @@ -0,0 +1 @@ +# Zircon 内存管理模型 diff --git a/docs/src/ch03-02-vmo.md b/docs/src/ch03-02-vmo.md new file mode 100644 index 0000000..13f1bb3 --- /dev/null +++ b/docs/src/ch03-02-vmo.md @@ -0,0 +1 @@ +# 物理内存:VMO 对象 diff --git a/docs/src/ch03-03-vmar.md b/docs/src/ch03-03-vmar.md new file mode 100644 index 0000000..d8fe6d0 --- /dev/null +++ b/docs/src/ch03-03-vmar.md @@ -0,0 +1 @@ +# 虚拟内存:VMAR 对象 diff --git a/docs/src/ch04-00-userspace.md b/docs/src/ch04-00-userspace.md new file mode 100644 index 0000000..1074940 --- /dev/null +++ b/docs/src/ch04-00-userspace.md @@ -0,0 +1 @@ +# 用户程序 diff --git a/docs/src/ch04-01-user-program.md b/docs/src/ch04-01-user-program.md new file mode 100644 index 0000000..698263f --- /dev/null +++ b/docs/src/ch04-01-user-program.md @@ -0,0 +1 @@ +# Zircon 用户程序 diff --git a/docs/src/ch04-02-load-elf.md b/docs/src/ch04-02-load-elf.md new file mode 100644 index 0000000..49c1549 --- /dev/null +++ b/docs/src/ch04-02-load-elf.md @@ -0,0 +1 @@ +# 加载 ELF 文件 diff --git a/docs/src/ch04-03-context-switch.md b/docs/src/ch04-03-context-switch.md new file mode 100644 index 0000000..973bce1 --- /dev/null +++ b/docs/src/ch04-03-context-switch.md @@ -0,0 +1 @@ +# 上下文切换 diff --git a/docs/src/ch04-04-syscall.md b/docs/src/ch04-04-syscall.md new file mode 100644 index 0000000..3d611e8 --- /dev/null +++ b/docs/src/ch04-04-syscall.md @@ -0,0 +1 @@ +# 系统调用 diff --git a/docs/src/fuchsia.md b/docs/src/fuchsia.md new file mode 100644 index 0000000..4aa64bd --- /dev/null +++ b/docs/src/fuchsia.md @@ -0,0 +1 @@ +# Fuchsia OS 和 Zircon 微内核 diff --git a/docs/src/title-page.md b/docs/src/title-page.md new file mode 100644 index 0000000..7000906 --- /dev/null +++ b/docs/src/title-page.md @@ -0,0 +1,3 @@ +# 简明 zCore 教程 + +自己动手编写操作系统:自顶向下方法 diff --git a/docs/src/zcore-intro.md b/docs/src/zcore-intro.md new file mode 100644 index 0000000..e89b8b7 --- /dev/null +++ b/docs/src/zcore-intro.md @@ -0,0 +1 @@ +# zCore 整体结构和设计模式