Skip to content

Commit 44347b3

Browse files
committed
update ch1:0, ch2:0 for libos/batchos archs
1 parent 4de9897 commit 44347b3

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

source/chapter1/0intro.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,14 @@ LibOS操作系统的总体结构如下图所示:
103103

104104
.. image:: ../../os-lectures/lec2/figs/lib-os-detail.png
105105
:align: center
106-
:scale: 40 %
106+
:scale: 30 %
107107
:name: lib-os-detail
108108
:alt: LibOS总体结构
109109

110110
通过上图,大致可以看出Qemu把包含app和LibOS的image镜像加载到内存中,RustSBI(bootloader)完成基本的硬件初始化后,跳转到LibOS起始位置,LibOS首先进行app执行前的初始化工作,即建立栈空间和清零bss段,然后跳转到app去执行。app在执行过程中,会通过函数调用的方式得到LibOS提供的OS服务,如输出字符串等,避免了app与硬件直接交互的繁琐过程。
111111

112+
注: 图中的S-Mode和M-Mode是RISC-V 处理器架构中的两种特权级别。S-Mode 指的是 Supervisor 模式,是操作系统使用的特权级别,可执行特权指令等。M-Mode是 Machine模式,其特权级别比S-Mode还高,可以访问RISC-V处理器中的所有系统资源。关于特权级的进一步描述可以看第二章的 :doc:`../chapter2/1rv-privilege` 中的详细说明。
113+
112114
LibOS操作系统的源代码如下所示:
113115

114116
.. code-block::

source/chapter2/0intro.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,18 @@
157157
本章代码树
158158
-------------------------------------------------
159159

160+
BatchOS操作系统的总体结构如下图所示:
161+
162+
.. image:: ../../os-lectures/lec3/figs/batch-os-detail.png
163+
:align: center
164+
:scale: 30 %
165+
:name: batch-os-detail
166+
:alt: BatchOS总体结构
167+
168+
通过上图,大致可以看出Qemu把包含多个app的列表和BatchOS的image镜像加载到内存中,RustSBI(bootloader)完成基本的硬件初始化后,跳转到BatchOS起始位置,BatchOS首先进行正常运行前的初始化工作,即建立栈空间和清零bss段,然后通过 `AppManager` 内核模块从app列表中依次加载各个app到指定的内存中在用户态执行。app在执行过程中,会通过系统调用的方式得到BatchOS提供的OS服务,如输出字符串等。
169+
170+
LibOS操作系统的源代码如下所示:
171+
160172
.. code-block::
161173
162174
./os/src

0 commit comments

Comments
 (0)