第10章学习笔记:虚拟化与容器:隔离、复用和迁移
课程笔记区分虚拟机、容器和语言运行时的抽象层与故障边界。
关联:章节 第10章 虚拟化与容器:隔离、复用和迁移
第10章笔记:虚拟化与容器:隔离、复用和迁移
本章问题
区分虚拟机、容器和语言运行时的抽象层与故障边界。 本章不是七个术语的并列清单,而是一条从可观察现象到内部状态、从内部状态到工程证据的因果链。学习时始终标出对象身份、队列或表项、触发事件、权限边界和不可破坏的不变量。
七节机制连接
- 虚拟化解决什么问题:虚拟化在物理资源上提供多个受控执行环境,核心是拦截敏感操作、隔离状态并复用资源;实验入口为把一台服务器划成三台虚拟机,逐项分配vCPU、内存、虚拟磁盘和虚拟网卡;反查边界是资源看起来独占不代表性能完全独立;共享缓存和I/O仍会产生干扰。
- 陷阱模拟、硬件辅助与虚拟CPU:客户敏感指令由硬件陷入管理程序,vCPU还要映射到物理CPU并保存客户状态;实验入口为追踪客户页表修改和虚拟中断注入,计算两层调度导致的等待;反查边界是客户内核态仍受管理程序约束,不等于宿主机器最高权限。
- 内存虚拟化与二级地址翻译:客户虚拟地址先到客户物理地址,再由二级页表到宿主物理地址,TLB缓存组合翻译;实验入口为给两级映射表逐步翻译地址,并计算TLB未命中时最坏访存次数;反查边界是气球回收和超分配可提高利用率,却会触发客户换页与宿主换页叠加。
- I/O虚拟化与设备模型:设备模拟兼容性高,半虚拟驱动减少陷阱,直通接近原生却增加迁移与隔离复杂度;实验入口为比较虚拟网卡的模拟、virtio与直通路径,记录数据复制、边界跨越和可迁移性;反查边界是性能提升要连同IOMMU、DMA隔离和故障恢复一起评估。
- 容器的命名空间与资源控制:namespace隔离视图,cgroup计量限制资源,镜像提供文件系统层,运行时负责创建受限进程;实验入口为创建CPU限额、内存上限和只读根文件系统的容器,观察超限与进程可见性;反查边界是镜像不是虚拟磁盘快照,容器也不是安全边界的万能答案。
- 实验:vCPU份额与超售:按权重与物理容量分配vCPU时间,检测总请求超过容量时的节流与尾延迟风险;实验入口为输入物理核数、时间窗和各虚机权重/需求,输出实际配额与未满足量;反查边界是比例公平不等于延迟公平;持锁vCPU被暂停会拖慢其他虚机。
- 实验:容器资源与故障演练:实验同时施加CPU、内存、进程数和只读文件系统限制,记录可观察失败方式;实验入口为运行资源模拟器,按事件序列输出THROTTLED、OOM、PIDS或READONLY;反查边界是故障码必须能被监控和上层重试策略区分,盲目重启可能形成风暴。
请给七节画依赖箭头:前一节留下的状态或接口怎样成为下一节输入?每条箭头补单位、事件或保护条件。若任何一节可以随意搬走且不影响上下文,说明你还没有建立章内联系。
章内实验
选择本章至少一个代码实验,从空环境运行全部内联测试,再新增一个资源耗尽、非法迁移、同刻事件或崩溃输入。保存输入、输出、参考模型、首个偏差和修复后的回归证据。不可复现的睡眠竞态或人工截图不算实验结果。
错题闭环
把错误编码为对象混淆、状态跳步、单位错误、队列顺序、竞态遗漏、权限越界或恢复假设。不要只写粗心。一周后更换数字和事件顺序重做阶段卷;能在新输入下重建机制而非记住答案,才算迁移成功。