OSTEP第九章~第十三章笔记

OSTEP:关于CPU虚拟化的总结对话

  • 操作系统通过设置时钟中断、陷阱及陷阱表、上下文切换等机制来虚拟化CPU
  • 通过使用一些合理的策略来对进程进行调度,当下并没有一个万能的调度算法。最好能针对不同的应用场景使用不同的方案。

OSTEP:关于内存虚拟化的对话

  • 用户生成的每个地址都只是一个虚拟地址。
  • 内存虚拟化的目的是易于使用、隔离、效率、保护

OSTEP:抽象:地址空间

  • 一个进程的地址空间主要包含3个部分:程序代码、栈、堆。 栈用于保存局部变量、当前函数的调用信息等,堆管理动态分配的、用户管理的内存。可以看到,观察图13.3,可以看到 堆和栈的增长方向是相反的

  • 虚拟内存的一个重要目的是透明,及运行的程序无法感知到内存被虚拟了,程序的行为认为拥有自己的私有物理内存。例如,一个进程存储一个变量到5KB的位置上,实际上这个5KB只是在此进程的地址空间中的5KB,而并不代表物理地址真实是5KB。

  • 虚拟内存的另一个重要目的是效率。即应该有高效的实现方案。第三个目标是**保护,**操作系统应该保证进程的地址空间不会收到其他进程的干扰,所以应该在进程之间提供隔离。

  • 虚拟内存系统负责为程序提供一个巨大、稀疏、私有的地址空间假象,其中保存程序的所有指令和数据。

猜你喜欢

转载自blog.csdn.net/doreen211/article/details/125607073