From ca4d6122f2f9183465e3b86d2c2ed294a40492d0 Mon Sep 17 00:00:00 2001
From: Iru Cai <mytbk920423@gmail.com>
Date: Thu, 30 May 2019 12:59:34 +0800
Subject: rearrange paragraphs

---
 chap/chap2.tex | 35 +++++++++++++++--------------------
 1 file changed, 15 insertions(+), 20 deletions(-)

(limited to 'chap/chap2.tex')

diff --git a/chap/chap2.tex b/chap/chap2.tex
index bcdd020..29a357b 100644
--- a/chap/chap2.tex
+++ b/chap/chap2.tex
@@ -63,9 +63,21 @@ Meltdown 型攻击利用的是处理器异常产生的暂态指令，这些指
 其他程序或内核空间的内存区域。现代计算环境利用这种隔离，使得系统上可
 以同时运行多个应用程序，和多个用户的进程。
 
-在现代处理器中，内核和用户进程之间的隔离，通常由处理器定义的一个权限位
-实现，它定义了内核的页是否可以被访问。这一位只能在进入内核态时设置，并
-在切换到用户态时清除。这个硬件特性使得操作系统可以将内核映射到每个进程
+为了将不同的进程相互隔离，处理器为操作系统提供了虚拟地址空间机制，它将
+虚拟地址翻译为物理地址。虚拟地址空间将内存划分为一系列的页，系统通过多
+级页表将虚拟页翻译为物理页。页表是一个多级的结构，存放虚拟页到物理页的
+映射，同时，它还保存了每个页的保护属性，用于处理器进行权限检查，例如可
+读、可写、可执行、用户可读等。操作系统中每一个运行中的进程有一个对应的
+页表，页表所在的位置存放在处理器的一个特定的寄存器中，在上下文切换时，
+操作系统更新这个寄存器，切换至处理器上的新进程可以使用这个进程对应的页
+表。利用这个机制，每个进程的虚拟地址空间映射到不同的物理内存区域，每个
+进程只能使用自己地址空间中的数据，从而达到进程间隔离的效果。
+
+每个地址空间都可以分为用户地址空间和内核地址空间。正在运行的进程可以访
+问用户地址空间，而内核地址空间只有进入内核态后可以访问，操作系统通过在
+页表中设置内核地址空间的页为用户不可访问，来实现这个特性。内核地址空间
+除了包含内核所要使用的数据外，通常还保存了整个物理内存的映射、文件缓存
+等内容。用户和内核地址空间的隔离，使得操作系统可以将内核映射到每个进程
 的地址空间，在中断等事件发生时，可以在不改变内存地址映射的条件下，高效
 地从用户进程切换至内核。
 
@@ -91,23 +103,6 @@ Intel 处理器，也可能可用于其他厂商的处理器。
 击者在隐蔽信道的接收端，找出这个临时寄存器的值。因此，在微体系结构层次，
 即实际的硬件实现中，存在可利用的安全性问题。
 
-% background: address spaces
-为了将不同的进程相互隔离，处理器为操作系统提供了虚拟地址空间机制，它将
-虚拟地址翻译为物理地址。虚拟地址空间将内存划分为一系列的页，系统通过多
-级页表将虚拟页翻译为物理页。页表是一个多级的结构，存放虚拟页到物理页的
-映射，同时，它还保存了每个页的保护属性，用于处理器进行权限检查，例如可
-读、可写、可执行、用户可读等。操作系统中每一个运行中的进程有一个对应的
-页表，页表所在的位置存放在处理器的一个特定的寄存器中，在上下文切换时，
-操作系统更新这个寄存器，切换至处理器上的新进程可以使用这个进程对应的页
-表。利用这个机制，每个进程的虚拟地址空间映射到不同的物理内存区域，每个
-进程只能使用自己地址空间中的数据，从而达到进程间隔离的效果。
-
-每个地址空间都可以分为用户地址空间和内核地址空间。正在运行的进程可以访
-问用户地址空间，而内核地址空间只有进入内核态后可以访问，操作系统通过在
-页表中设置内核地址空间的页为用户不可访问，来实现这个特性。内核地址空间
-除了包含内核所要使用的数据外，通常还保存了整个物理内存的映射、文件缓存
-等内容。
-
 操作系统将内核地址空间映射至每个用户进程的地址空间中。处理器执行访存指
 令时，在将虚拟地址翻译为物理地址的时候，检查地址对应的权限位，判断用户
 空间的指令是否可访问该地址。在 Meltdown 攻击中，攻击者让处理器从用户不
-- 
cgit v1.2.3

