IBM AIX概述及其小型机虚拟化原理前沿技术
一、AIX Unix操作系统介绍:
AIX全名为Advanced Interactive Executive,称“An Ibm uniX”或“Advanced Ibm uniX”。AIX是第二代UNIX,在技术上具有许多超越传统UNIX的功能,包括:
1.模块化内核:系统提供了“模块化内核”。在改变系统功能配置时,改变的部分只需在相应模块中进行重新编译,系统设备及参数的修改可以马上执行、马上生效,用户不必退出,系统不需关机。所以采用模块化内核设计的AIX,用户的工作不会被中断,操作系统设备及参数修改工作能够迅速完成。
2.动态调整内核:提供动态调整核心功能,绝大多数的系统参数由操作系统自动执行“自我调整”(self-tuning),以保证操作系统永远处于“最佳性能”状态。即使对于用户设定的系统设备参数,AIX的核心是可动态绑定的(dynamic binding),使之能够动态加载任何设备模块,对核心进行动态扩展,做到马上修改,马上执行,用户不须退出,更不用重新启动系统。
3.多线程内核(Multi-Threading Kernel):区别于常用的Unix按进程进行调度,而扩展了多线程技术,能够让应用程序可以真正分享多CPU的能力,实现并行运算。若没有多线程内核,核心的并行运算还局限在进程级别,而不同进程之间通讯机制比较线程之间要复杂许多,导致操作系统的运行效率也会低许多,所以只有多线程内核才能把对称多处理机(SMP)的并行处理性能发挥到最佳的地步。
4.高效率的输入/输出:输入输出设计采用内存直接映射(Memory Mapping)技术,硬盘数据直接载入内存,相当于在内存中有硬盘的映射区间。
5.实时处理:通过实施抢占式中断(Pre-emption)来改善传统UNIX按时间片调度的缺陷。
6.安全性能
7.日志文件系统:引入日志文件系统的概念(Journaled File System)-JFS,即在访问文件系统时,对文件所做的读写操作同步记录在专门的关联式数据库中。
8.存储管理:包括镜像技术、条块化技术、逻辑卷管理等
二、IBM Power系列小型机虚拟化原理:
虚拟化对体系结构 (ISA) 的要求:
1.须支持多个特权级,此亦是现代操作系统的要求.
2.非敏感指令的执行结果不依赖于 CPU 的特权级.
3.CPU 需支持一种保护机制,如 MMU,可将物理系统和其它 VM 与当前活动的 VM 隔离.
以上三个条件,现代体系结构一般都满足,唯有最后一个也是最重要的条件
4.敏感指令需皆为特权指令,而且特别指令只能在特权级别0执行,此为保证敏感指令在 VM 上执行时,能陷入到 VMM.因控制敏感指令的执行可能改变系统(处理器和设备)的状态,为保证 VMM 对资源的绝对控制力维护 VM 的正常运行,这类指令的执行需要陷入而将控制权转移到 VMM,并由其模拟处理之。行为敏感指令的执行结果依赖于 CPU 的最高特权级,而 Guest OS 运行于非最高特权级,为保证其结果正确,亦需要陷入 VMM,并由其模拟之。
此条最难达到,现在的X86系列处理器有一部分敏感指令不是特权指令,敏感指令在特权级0跟3下都能执行,但是执行结果不同。这也是基于X86的虚拟化克服的难点要相对多的原因。
但是IBM Power系列小型机敏感指令全部是特权执行
5.因此IBM小型机虚拟化方法主要使用“特权解除” (Privilege deprivileging) 和“陷入-模拟” (Trap-and-Emulation) 的方式。即:将 Guest OS 运行在非特权级(特权解除),而将 VMM 运行于最高特权级(完全控制系统资源)。解除了 Guest OS 的特权后,Guest OS 的大部分指令仍可以在硬件上直接运行,只有当执行到特权指令时,hypervisor会捕捉到该指令,从而陷入到 VMM 模拟执行(陷入-模拟)。