今天开始学习内核,参考了很多书籍,但是水平有限,请多指教 。
1 第一章
大内核结构
所有的操作系统的服务都在同一个内存空间中 内核组件之间通过函数调用进行通信 系统组件和设备的驱动程序运行在同一个内存空间中
一旦发生错误 整个系统崩溃 大内核组件之间相互的依赖性容易导致难以维护
为了解决问题 出现了微内核结构 在微内核操作系统中 只有直接建立在硬件基础上的系统服务由内核实现
其他的服务 网络服务 文件系统都在用户进程中实现 他们通过内核提供的进程间通信 微内核的优势在于易于维护
更多的系统服务由高级语言来编写 并且可以在运行的时候动态替换或恢复 但是微内核的结构效率低下
大量的处理器模式切换和进程环境切换 使得系统开销比大内核结构的函数调用大的多
纯微内核有minix 等 在实践中 有些操作系统综合了大内核和微内核的优势 例如 windowsNT和Linux
硬件的抽象
硬件的抽象是操作系统本质的任务 硬件抽象的极端是硬件虚拟化 硬件虚拟化的做法是 在一个硬件平台上运行一个控制程序
该程序为其他软件提供一个虚拟环境 也就是虚拟机 控制程序称为VMM
Intel在X86处理器中引入了专门的虚拟化支持 intelVT .