第11章 关于CPU虚拟化的总结对话
- 上下文切换
- 时钟中断
- 进程调度(时分复用)
- 内核态和用户态
第12章 关于内存虚拟化的对话
虚拟化内存的技术
- TLB(快速地址转换,基于硬件缓存的一种快速地址映射)
- 多级页表
- 全功能的现象虚拟管理系统
应用程序--->虚拟地址--->真实地址
虚拟地址有如下优势
- 隔离
- 保护
- 便于编程使用
第13章 抽象:地址空间
时分复用不满足于内存信息保存在磁盘上,在进行切换的时候仍保存在内存上,但带来了保护和互补修改的需求,由此引入了地址空间的概念。
地址空间是程序所看到的内存的抽象,包含
- 代码
- 堆(动态分配的内存,向下生长意为地址增长以分配更大的内存)
- 栈(函数调用信息、参数、局部变量、返回值,向上增长相反)
第14章 插叙:内存操作API
- malloc
- free
- calloc(初始化)
- realloc(re意为可重新申请更大的内存)
第15章 机制:内存转换
目标(虚拟地址->物理地址)
- 高效
- 可控
- 灵活
提出假设
- 用户地址连续
- 空间有限
- 大小一样
动态重定位
- 基址寄存器(地址转换)
- 界限寄存器(访问保护)
缺点:由于分配内存空间一样导致内部碎片的产生,造成了浪费,可能内存堆栈使用较少,空闲较大。
操作系统创建进程的工作
- 分配内存,地址转换
- 内存回收
- 上下文切换保存和恢复寄存器值
- 异常处理