[OS]Three Easy Pieces Chapter 13

The Abstraction: Address Spaces

1 Early Systems

从内存的角度来看,早期的机器并没有为用户提供太多的抽象概念。基本上,操作系统是在内存中的程序(实际上是程序库),而有一个正在运行的程序(进程)当前位于物理内存中,并使用内存的其余部分。

2 The Address Space

地址空间是操作系统提供给用户的一种抽象。在用户看来,它可以使用整个地址空间的内存。一般来说,地址空间至少包括代码,堆,栈等。

用户地址空间

由于操作系统需要在多个进程之间共享物理内存,因此它不能直接使用进程地址空间的地址(虚拟地址),它需要将其转换为实际的物理地址,即虚拟化内存。

3 Goals

VM系统有如下几个目标:

  1. transparency:程序不应该意识到虚拟内存的存在,它表现的应该像自己拥有完整的物理内存一样。
  2. efficiency:时间和空间上高效
  3. protection:操作系统本身和用户进程不应该受到其他进程的干扰(进程不能访问其他进程的内存)。这引出了isolation的概念,每个进程都应该在自己的隔离的内存中运行。

[OS]Three Easy Pieces Chapter 13
https://erlsrnby04.github.io/2024/11/01/OS-Three-Easy-Pieces-Chapter-13/
作者
ErlsrnBy04
发布于
2024年11月1日
许可协议