Linux全景图
Linux内核
Linux的基本思想:一切都是文件,每个文件都有确定的用途,包括用户数据、命令、配置参数、硬件设备。支持多用户,各个用户对于自己的文件有自己特殊的权利,保证各个用户之间相互不影响,Linux可以使多个程序同时并独立地运行
五大重要组件:系统、进程、内存、储存、网络,每个组件分成了许多模块
模块之间的通信,主要是函数调用
Darwin-XNU内核
Darwin使用了微内核和相应的固件来支持不同的处理器平台,并提供操作系统原始的基础服务
它由两套内核组成,Mach层与BSD层,Mach层提供最基本的操作系统服务,达到高性能、安全、可扩展,BSD是类UNIX操作系统,提供一整套操作系统服务。Mach层提供简单的进程、线程、IPC通信、虚拟内存、设备驱动相关的功能服务,BSD提供强大的安全特性,完善网络服务,各种文件系统的支持,同时对Mach的进程、线程、IPC、虚拟内核组件进行优化扩展
应用如何使用Darwin系统的服务?
应用通过用户层的框架和库来请求Darwin系统的服务,就是调用Darwin系统的API
调用系统API时,会传入一个API号码,通过这个号码去找Mach陷入中断服务表中的函数,API小于零请求Mach内核的服务,大于零请求BSD内核的服务
Windows NT 内核
HAL(硬件抽象层)好处:不同的硬件平台只要提供对应的HAL就可以移植系统了
HAL层上面换定义了一个小内核,小内核之上是各种内核组件,称内核执行体,完成进程、内存、配置、I/O文件缓存、电源即插即用、安全等相关服务
每个执行体互相独立,只对外提供相应的接口,所有的设备驱动和文件系统都由I/O管理器统一管理
|