Skip to content

Commit 6f04a7c

Browse files
author
deployBot
committed
Deploy at Fri Apr 26 10:41:01 UTC 2024
1 parent bdd0e62 commit 6f04a7c

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

_sources/lectures/intro.rst.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
内核(kernel)和用户(user)是操作系统中常用的两个术语。它们的定义很明确:内核是操作系统的一部分,以较高的权限级别运行;而用户(空间)通常指的是那些以较低权限级别运行的应用程序。
4646

47-
然而,这些术语的含义过多,并且在某些情况下可能具有非常特定的含义。
47+
然而,这些术语与其他词汇结合时含义经常会发生变化,并且在某些情况下可能具有非常特定的含义。
4848

4949
用户模式(User Mode)和内核模式(Kernel Mode)是指处理器执行模式的专业术语。在内核模式下,代码能够完全 [#hypervisor]_ 控制 CPU,拥有最高权限;而用户模式下的代码则受到限制。例如,只有在内核模式下,才能启用或禁用 CPU 的本地中断;如果在用户模式下尝试这样的操作,则会触发异常,此时内核会介入处理。
5050

@@ -146,7 +146,7 @@
146146
微内核
147147
------------
148148

149-
微内核(Microkernel)是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。
149+
微内核是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。
150150

151151
.. code-block:: text
152152
@@ -179,7 +179,7 @@
179179

180180
因此,如果一个服务崩溃,我们可以只重启它而不影响整个系统。然而,实践中很难实现这一点,因为重新启动一个服务可能会影响依赖该服务的所有应用程序(例如,如果文件服务器崩溃,所有打开文件描述符的应用程序在访问文件时会遇到错误)。
181181

182-
这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销。
182+
这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销 [#minix-vs-linux]_
183183

184184
.. [#minix-vs-linux] https://lwn.net/Articles/220255/
185185

lectures/intro.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ <h2>基本的操作系统名词和概念<a class="headerlink" href="#section-3"
179179
<div class="section" id="section-4">
180180
<h3>用户与内核的比较<a class="headerlink" href="#section-4" title="永久链接至标题"></a></h3>
181181
<span class="admonition-"></span><p>内核(kernel)和用户(user)是操作系统中常用的两个术语。它们的定义很明确:内核是操作系统的一部分,以较高的权限级别运行;而用户(空间)通常指的是那些以较低权限级别运行的应用程序。</p>
182-
<p>然而,这些术语的含义过多,并且在某些情况下可能具有非常特定的含义。</p>
182+
<p>然而,这些术语与其他词汇结合时含义经常会发生变化,并且在某些情况下可能具有非常特定的含义。</p>
183183
<p>用户模式(User Mode)和内核模式(Kernel Mode)是指处理器执行模式的专业术语。在内核模式下,代码能够完全 <a class="footnote-reference" href="#hypervisor" id="footnote-reference-1">[1]</a> 控制 CPU,拥有最高权限;而用户模式下的代码则受到限制。例如,只有在内核模式下,才能启用或禁用 CPU 的本地中断;如果在用户模式下尝试这样的操作,则会触发异常,此时内核会介入处理。</p>
184184
<table class="docutils footnote" frame="void" id="hypervisor" rules="none">
185185
<colgroup><col class="label" /><col /></colgroup>
@@ -237,7 +237,7 @@ <h3>单体内核<a class="headerlink" href="#section-6" title="永久链接至
237237
</div>
238238
<div class="section" id="section-7">
239239
<h3>微内核<a class="headerlink" href="#section-7" title="永久链接至标题"></a></h3>
240-
<p>微内核(Microkernel)是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。</p>
240+
<p>微内核是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。</p>
241241
<blockquote>
242242
<div><div class="highlight-text"><div class="highlight"><pre><span></span>+-----+ +--------+ +---------+ +---------+
243243
| 应用 | | 文件 | | 网络 | | 显示 |&lt;--+
@@ -266,11 +266,11 @@ <h3>微内核<a class="headerlink" href="#section-7" title="永久链接至标
266266
<p>在微内核架构中,内核只包含最基本代码(允许不同运行进程间进行消息传递)。在实际应用中,这意味着内核仅实现调度程序和进程间通信(IPC)机制,以及基础内存管理,从而在应用程序和服务之间建立了保护层。</p>
267267
<p>这种架构的优点之一是服务被隔离,因此某一个服务中的错误不会影响其他服务。</p>
268268
<p>因此,如果一个服务崩溃,我们可以只重启它而不影响整个系统。然而,实践中很难实现这一点,因为重新启动一个服务可能会影响依赖该服务的所有应用程序(例如,如果文件服务器崩溃,所有打开文件描述符的应用程序在访问文件时会遇到错误)。</p>
269-
<p>这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销。</p>
269+
<p>这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销 <a class="footnote-reference" href="#minix-vs-linux" id="footnote-reference-2">[2]</a></p>
270270
<table class="docutils footnote" frame="void" id="minix-vs-linux" rules="none">
271271
<colgroup><col class="label" /><col /></colgroup>
272272
<tbody valign="top">
273-
<tr><td class="label">[2]</td><td><a class="reference external" href="https://lwn.net/Articles/220255/">https://lwn.net/Articles/220255/</a></td></tr>
273+
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-2">[2]</a></td><td><a class="reference external" href="https://lwn.net/Articles/220255/">https://lwn.net/Articles/220255/</a></td></tr>
274274
</tbody>
275275
</table>
276276
</div>

searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

so2/lec1-intro.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ <h2>基本的操作系统名词和概念<a class="headerlink" href="#section-17"
396396
<div class="section" id="section-18">
397397
<h3>用户与内核的比较<a class="headerlink" href="#section-18" title="永久链接至标题"></a></h3>
398398
<span class="admonition-"></span><p>内核(kernel)和用户(user)是操作系统中常用的两个术语。它们的定义很明确:内核是操作系统的一部分,以较高的权限级别运行;而用户(空间)通常指的是那些以较低权限级别运行的应用程序。</p>
399-
<p>然而,这些术语的含义过多,并且在某些情况下可能具有非常特定的含义。</p>
399+
<p>然而,这些术语与其他词汇结合时含义经常会发生变化,并且在某些情况下可能具有非常特定的含义。</p>
400400
<p>用户模式(User Mode)和内核模式(Kernel Mode)是指处理器执行模式的专业术语。在内核模式下,代码能够完全 <a class="footnote-reference" href="#hypervisor" id="footnote-reference-1">[1]</a> 控制 CPU,拥有最高权限;而用户模式下的代码则受到限制。例如,只有在内核模式下,才能启用或禁用 CPU 的本地中断;如果在用户模式下尝试这样的操作,则会触发异常,此时内核会介入处理。</p>
401401
<table class="docutils footnote" frame="void" id="hypervisor" rules="none">
402402
<colgroup><col class="label" /><col /></colgroup>
@@ -454,7 +454,7 @@ <h3>单体内核<a class="headerlink" href="#section-20" title="永久链接至
454454
</div>
455455
<div class="section" id="section-21">
456456
<h3>微内核<a class="headerlink" href="#section-21" title="永久链接至标题"></a></h3>
457-
<p>微内核(Microkernel)是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。</p>
457+
<p>微内核是一种内核设计,其中大部分功能以受保护的方式相互作用,并通常作为用户空间中的服务来运行。因为内核的关键功能现在在用户模式下运行,导致在内核模式下运行的代码量大幅减少,微内核由此得名。</p>
458458
<blockquote>
459459
<div><div class="highlight-text"><div class="highlight"><pre><span></span>+-----+ +--------+ +---------+ +---------+
460460
| 应用 | | 文件 | | 网络 | | 显示 |&lt;--+
@@ -483,11 +483,11 @@ <h3>微内核<a class="headerlink" href="#section-21" title="永久链接至标
483483
<p>在微内核架构中,内核只包含最基本代码(允许不同运行进程间进行消息传递)。在实际应用中,这意味着内核仅实现调度程序和进程间通信(IPC)机制,以及基础内存管理,从而在应用程序和服务之间建立了保护层。</p>
484484
<p>这种架构的优点之一是服务被隔离,因此某一个服务中的错误不会影响其他服务。</p>
485485
<p>因此,如果一个服务崩溃,我们可以只重启它而不影响整个系统。然而,实践中很难实现这一点,因为重新启动一个服务可能会影响依赖该服务的所有应用程序(例如,如果文件服务器崩溃,所有打开文件描述符的应用程序在访问文件时会遇到错误)。</p>
486-
<p>这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销。</p>
486+
<p>这种架构为内核带来了模块化的设计,并在各个服务之间实现了内存隔离,但这样做的代价是牺牲了一定的性能。在传统的单体内核中,两个服务之间可以通过简单的函数调用来交互,而在微内核架构中,这种交互需要通过进程间通信(IPC)和任务调度来完成,从而引入了额外的性能开销 <a class="footnote-reference" href="#minix-vs-linux" id="footnote-reference-2">[2]</a></p>
487487
<table class="docutils footnote" frame="void" id="minix-vs-linux" rules="none">
488488
<colgroup><col class="label" /><col /></colgroup>
489489
<tbody valign="top">
490-
<tr><td class="label">[2]</td><td><a class="reference external" href="https://lwn.net/Articles/220255/">https://lwn.net/Articles/220255/</a></td></tr>
490+
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-2">[2]</a></td><td><a class="reference external" href="https://lwn.net/Articles/220255/">https://lwn.net/Articles/220255/</a></td></tr>
491491
</tbody>
492492
</table>
493493
</div>

0 commit comments

Comments
 (0)