操作系统的体系结构
操作系统:
- 非内核功能(GUI)
- 内核(时钟管理、中断处理、原语(设备驱动、CPU切换等)、进程管理、存储器管理、设备管理等)
原语是一种特殊的程序,具有原子性,也就是说,这段程序的运行必须一气呵成,不可被“中断”
操作系统的内核
内核是操作系统最基本、最核心的部分,实现操作系统内核功能的那些程序就是内核程序
现在,应用程序想要请求操作系统的服务,这个服务的处理同时涉及到进程管理、存储管理、设备管理(变态的过程是有成本的,要消耗不少时间,频繁的变态会降低系统性能):
大内核/单内核/宏内核(Linux、UNIX)
将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核(Windows NT)
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁的在核心态和用户态之间切换,性能低