操作系统的作用
- 管理硬件:CPU、内存、硬盘、网卡、总线等等
- 管理软件:进程
操作系统结构
推荐一本书《Linux内核设计与实现》
kernel内核(最核心)
最重要最重要的部分,主要和内核打交道。它的主要工作有这么几块:
- 管理内存
- 管理CPU
- 管理其他的硬件设备
- 进程调度
作为 kernel有好几种模式,我们平时我们自己的机器里它叫做宏内核,还有一种叫做微内核。
宏内核
所有的这些相关的程序都组合到一起,放在一块内存里。
微内核
实际上只做进程调度。微内核就是除了进程调度以外的程序都不在一块儿内核上。
基础概念
CPU 的指令级别 ring0,ring1,ring2,ring3
- Intel CPU 4个级别都用了。
- Linux CPU 只用了ring0和ring3两个级别。
Linux 的内核态指令可以访问到 ring0级,用户态的应用层指令只能到ring3级。用户态想干ring0级别的事,像内核申请。