From 97b90746e7c2917db69fe8a7f9d7b6fb5c432d3b Mon Sep 17 00:00:00 2001
From: wangrunji0408
Date: Tue, 11 Aug 2020 04:56:20 +0000
Subject: [PATCH] deploy: ae2ab10378b4e1d02ed11e3d72d4acf73aa05339
---
404.html | 2 +-
ch01-00-object.html | 4 +-
ch01-01-kernel-object.html | 4 +-
ch01-02-process-object.html | 18 +-
ch01-03-channel-object.html | 11 +-
ch02-00-task.html | 9 +-
ch02-01-zircon-task.html | 8 +-
...nc.html => ch02-02-process-job-object.html | 15 +-
ch02-03-thread-object.html | 31 ++-
ch03-00-memory.html | 6 +-
ch03-01-zircon-memory.html | 4 +-
ch03-02-vmo.html | 30 +-
ch03-03-vmo-paged.html | 259 ++++++++++++++++++
ch03-03-vmar.html => ch03-04-vmar.html | 22 +-
ch04-00-userspace.html | 6 +-
ch04-01-user-program.html | 36 ++-
...switch.html => ch04-02-context-switch.html | 35 ++-
ch04-04-syscall.html => ch04-03-syscall.html | 28 +-
...ct.html => ch05-00-signal-and-waiting.html | 14 +-
ch05-01-wait-signal.html | 251 +++++++++++++++++
ch05-02-port-object.html | 249 +++++++++++++++++
...f.html => ch05-03-more-signal-objects.html | 21 +-
ch05-04-futex-object.html | 242 ++++++++++++++++
fuchsia.html | 4 +-
index.html | 2 +-
print.html | 237 +++++++++++++++-
searchindex.js | 2 +-
searchindex.json | 2 +-
zcore-intro.html | 4 +-
29 files changed, 1477 insertions(+), 79 deletions(-)
rename ch02-02-hal-async.html => ch02-02-process-job-object.html (71%)
create mode 100644 ch03-03-vmo-paged.html
rename ch03-03-vmar.html => ch03-04-vmar.html (68%)
rename ch04-03-context-switch.html => ch04-02-context-switch.html (63%)
rename ch04-04-syscall.html => ch04-03-syscall.html (66%)
rename ch02-04-process-job-object.html => ch05-00-signal-and-waiting.html (68%)
create mode 100644 ch05-01-wait-signal.html
create mode 100644 ch05-02-port-object.html
rename ch04-02-load-elf.html => ch05-03-more-signal-objects.html (66%)
create mode 100644 ch05-04-futex-object.html
diff --git a/404.html b/404.html
index 93390ad..a299161 100644
--- a/404.html
+++ b/404.html
@@ -91,7 +91,7 @@
diff --git a/ch01-00-object.html b/ch01-00-object.html
index 64ecc99..565f8f8 100644
--- a/ch01-00-object.html
+++ b/ch01-00-object.html
@@ -89,7 +89,7 @@
@@ -163,7 +163,7 @@
Zircon 是一个基于内核对象的系统。系统的功能被划分到若干组内核对象中。
作为一切的开始,本章首先构造了一个内核对象框架,作为后面实现的基础。
然后我们实现第一个内核对象 —— Process,它是所有对象的容器,也是将来我们操作对象的入口点。
-最后会实现一个稍微复杂但是极其重要的对象 Channel,它是进程间通信(IPC)的基础设施,也是传送对象的唯一管道。
+最后会实现一个稍微复杂但是极其重要的对象 Channel,它是进程间通信(IPC)的基础设施,也是传送对象的唯一管道。
diff --git a/ch01-01-kernel-object.html b/ch01-01-kernel-object.html
index 93c9e58..ca3278f 100644
--- a/ch01-01-kernel-object.html
+++ b/ch01-01-kernel-object.html
@@ -3,7 +3,7 @@
+本章我们来实现第一类内核对象:任务管理(Tasks)。
+任务对象主要包括:线程 Thread,进程 Process,作业 Job。以及一些辅助性的对象,例如负责暂停任务执行的 SuspendToken 和负责处理异常的 Exception。
+为了能够真实表现线程对象的行为,我们使用 Rust async 运行时 async_std 中的用户态协程来模拟内核线程。
+这样就可以在用户态的单元测试中检验实现的正确性。
+考虑到未来这个 OS 会跑在裸机环境中,将会有不同的内核线程的实现,我们创建一个特殊的硬件抽象层(Hardware Abstraction Layer,HAL),来屏蔽底层平台的差异,对上提供一个统一的接口。
+这个 HAL 的接口未来会根据需要进行扩充。
+本章中我们只会实现运行一个程序所必需的最小功能子集,剩下的部分则留到跑起用户程序之后再按需实现。
diff --git a/ch02-01-zircon-task.html b/ch02-01-zircon-task.html
index 3d6bfa2..395e9d0 100644
--- a/ch02-01-zircon-task.html
+++ b/ch02-01-zircon-task.html
@@ -3,7 +3,7 @@
-
Zircon 任务管理体系 - 简明 zCore 教程
+
🚧 Zircon 任务管理体系 - 简明 zCore 教程
@@ -89,7 +89,7 @@
@@ -172,7 +172,7 @@
-
+
@@ -190,7 +190,7 @@
-
+
diff --git a/ch02-02-hal-async.html b/ch02-02-process-job-object.html
similarity index 71%
rename from ch02-02-hal-async.html
rename to ch02-02-process-job-object.html
index ddf489f..41da780 100644
--- a/ch02-02-hal-async.html
+++ b/ch02-02-process-job-object.html
@@ -3,7 +3,7 @@
-
硬件抽象层与异步运行时 - 简明 zCore 教程
+
🚧 进程管理:Process 与 Job 对象 - 简明 zCore 教程
@@ -89,7 +89,7 @@
@@ -159,7 +159,16 @@
-
+
+
+
+介绍 Process 与 Job 的整体设计
+实现 Process 和 Job 对象的基本框架,支持树状结构
+
+
+
+实现 JobPolicy
+
diff --git a/ch02-03-thread-object.html b/ch02-03-thread-object.html
index 7926c9e..c697558 100644
--- a/ch02-03-thread-object.html
+++ b/ch02-03-thread-object.html
@@ -3,7 +3,7 @@
-
线程管理:Thread 对象 - 简明 zCore 教程
+
🚧 线程管理:Thread 对象 - 简明 zCore 教程
@@ -89,7 +89,7 @@
@@ -160,19 +160,38 @@
+
+
+状态转移:创建 -> 运行 -> 暂停 -> 退出,最好有个状态机的图
+实现 ThreadState,最好能加一个单元测试来验证转移过程
+
+
+
+定义 ThreadState,实现 read_state,write_state
+
+
+
+简单介绍 async-std 的异步机制
+介绍 HAL 的实现方法:弱链接
+实现 hal_thread_spawn
+
+
+
+将 HAL 接入 Thread::start,编写单元测试验证能启动多线程
+