Skip to content

Commit

Permalink
minor update to make expression more concise (#59)
Browse files Browse the repository at this point in the history
  • Loading branch information
hanyujie2002 authored Apr 26, 2024
1 parent 6249428 commit 397c28c
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lectures/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@

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

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

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

Expand Down Expand Up @@ -146,7 +146,7 @@
微内核
------------

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

.. code-block:: text
Expand Down Expand Up @@ -179,7 +179,7 @@

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

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

.. [#minix-vs-linux] https://lwn.net/Articles/220255/
Expand Down

0 comments on commit 397c28c

Please sign in to comment.