diff --git a/_sources/chapter2/0intro.rst.txt b/_sources/chapter2/0intro.rst.txt index 9c48256..28357a8 100644 --- a/_sources/chapter2/0intro.rst.txt +++ b/_sources/chapter2/0intro.rst.txt @@ -44,7 +44,15 @@ .. note:: - 如果测例仓库有所更新或者你切换了代码仓库的分支,你可能需要清理掉测例仓库原版的编译结果,此时需要执行 + 在你切换代码仓库的分支前,请务必先清理代码仓库原分支的编译结果,此时需要执行 + + .. code-block:: console + + $ make clean + + 如果你没有清理编译结果便切换了分支,可能出现清理后也无法跑通 base 的情况,此时请尝试切换回原分支并执行清理指令。 + + 如果测例仓库有所更新,你可能需要清理掉测例仓库原版的编译结果,此时需要执行 .. code-block:: console @@ -58,6 +66,9 @@ $ make clean $ cd .. + 注意,在 lab3 之前单独清理测例仓库可能导致 os 无法正常启动,遇到该问题时请执行代码仓库的编译结果清理。 + + 我们可以通过 ``make user`` 生成用户程序,最终将 ``.bin`` 文件放在 ``user/target/bin`` 目录下。 .. code-block:: console diff --git a/_sources/chapter2/1rv-privilege.rst.txt b/_sources/chapter2/1rv-privilege.rst.txt index 22a5a0c..234b24b 100644 --- a/_sources/chapter2/1rv-privilege.rst.txt +++ b/_sources/chapter2/1rv-privilege.rst.txt @@ -18,7 +18,7 @@ 为确保操作系统的安全,对应用程序而言,需要限制的主要有两个方面: - 应用程序不能访问任意的地址空间(这个在第四章会进一步讲解,本章不会讲解) -- 应用程序不能执行某些可能破会计算机系统的指令(本章的重点) +- 应用程序不能执行某些可能破坏计算机系统的指令(本章的重点) 假设有了这样的限制,我们还需要确保应用程序能够得到操作系统的服务,即应用程序和操作系统还需要有交互的手段。使得低特权级软件都只能做高特权级软件允许它做的,且低特权级软件的超出其能力的要求必须寻求高特权级软件的帮助。在这里的高特权级软件就是低特权级软件的软件执行环境。 diff --git a/chapter2/0intro.html b/chapter2/0intro.html index 9fde832..5a2f416 100644 --- a/chapter2/0intro.html +++ b/chapter2/0intro.html @@ -308,7 +308,12 @@
上面的指令会将测例仓库克隆到代码仓库下并命名为 user
,注意 /user
在代码仓库的 .gitignore
中,因此不会出现 .git
文件夹嵌套的问题,并且你 checkout
代码仓库时也不会影响测例仓库的内容。
注解
-如果测例仓库有所更新或者你切换了代码仓库的分支,你可能需要清理掉测例仓库原版的编译结果,此时需要执行
+在你切换代码仓库的分支前,请务必先清理代码仓库原分支的编译结果,此时需要执行
+$ make clean
+
如果你没有清理编译结果便切换了分支,可能出现清理后也无法跑通 base 的情况,此时请尝试切换回原分支并执行清理指令。
+如果测例仓库有所更新,你可能需要清理掉测例仓库原版的编译结果,此时需要执行
$ make -C user clean
注意,在 lab3 之前单独清理测例仓库可能导致 os 无法正常启动,遇到该问题时请执行代码仓库的编译结果清理。
我们可以通过 make user
生成用户程序,最终将 .bin
文件放在 user/target/bin
目录下。