1.2 操作系统和内核简介

应用程序调用内核空间程序来控制底层硬件,也就是说应用程序通过系统调用陷入内核;内核还要负责管理系统的硬件设备;处理器在任何指定时间点上的活动范围概括为下列三者之一:1、运行于内核空间,处于进程上下文,代表某个特定的进程执行;2、运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断;3、运行于用户空间,执行用户进程;

1.3 Linux内核和传统Unix内核的比较

Linux是一个单内核,也就是说,Linux内核运行在单独的内核地址空间;不过,Linux几区了微内核的精华:其引以为豪的是模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力;不仅如此,linux还避其微内核设计上性能损失的缺陷,让所有事情都运行在内核态,直接调用函数,无须消息传递

  1. Linux支持动态加载内核模块。尽管Linux内核也是单内核,可是允许在需要的时候动态地卸除和加载部分内核代码
  2. Linux支持对称多处理(SMP)机制,尽管许多Unix的变体也支持SMP,但传统的Unix并不支持这种机制
  3. Linux内核可以抢占。Linux内核具有允许在内核运行的任务优先执行的能力
  4. Linux对线程支持的实现比较有意思:内核并不区分线程和其他的一般进程;对于内核来说,所有的进程都一样——只不过其中的一些共享资源而已
  5. Linux提供具有设备类的面相对象的设备模型、热插拔事件,以及用户空间的设备文件系统
  6. Linux忽略了一些被认为是设计得很拙劣的Unix特性

1.4 Linux内核版本

1.5 Linux内核开发者

1.6 小结