一、课程讲义
内核概述
1 history
linux history
linux features
2 What is Kernel
Kernel Design Goals
性能:效率,速度(利用资源到容量,低开销,代码大小)
稳定性:健壮性,弹性(正常运行时间,优雅的退化能力)
灵活性,兼容性,安全性,保护保护用户彼此,安全系统、可移植性、清晰、可扩展性
Design Tradeoffs(设计权衡)
3 Architectural Approaches(架构方法)
3.1 Monolithic kernel(单片内核)
所有内核例程都在一起,链接在一个大的可执行文件中,例如:Linux, Mac OS <= 8.6,大多数bsd。
优点:易于理解、性能好;缺点:内核组件之间没有保护,内核中的代码很多,不(非常)可扩展
Linux是一个模块化的、类似unix的单块内核
Stephen Tweedie的图解
3
3.2 MicroKernel
- 用一组“小的、干净的、合乎逻辑的”抽象取代单片内核。
- 将操作系统的其余部分移到用户空间服务器进程文件、tcp、进程管理、分页
- 在20世纪90年代初被认为太慢了
- 例如:Mach(1986), QNX, MINIX, L4
微内核示例- minix 3系统