《Linux内核设计与实现》读书笔记

《Linux内核设计与实现》读书笔记,本篇简单介绍内核相关的基本概念。

主要内容:

  • 单内核和微内核
  • 内核版本号

1. 单内核和微内核

 

原理

优势

劣势

单内核

整个内核都在一个大内核地址空间上运行。1. 简单。
2. 高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销。
一个功能的崩溃会导致整个内核无法使用。

微内核

内核按功能被划分成各个独立的过程。每个过程独立的运行在自己的地址空间上。1. 安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务。内核各个服务之间的调用涉及进程间的通信,比较复杂且效率低。

 

Linux的内核虽然是基于单内核的,但是经过这么多年的发展,也具备微内核的一些特征。(体现了Linux实用至上的原则)

主要有以下特征:

  1. 支持动态加载内核模块
  2. 支持对称多处理(SMP)
  3. 内核可以抢占(preemptive),允许内核运行的任务有优先执行的能力
  4. 不区分线程和进程

2. 内核版本号

内核的版本号主要有四个数组组成。比如版本号:2.6.26.1  其中,

2  - 主版本号

6  - 从版本号或副版本号

26 - 修订版本号

1  - 稳定版本号

副版本号表示这个版本是稳定版(偶数)还是开发版(奇数),上面例子中的版本号是稳定版。

稳定的版本可用于企业级环境。

修订版本号的升级包括BUG修正,新的驱动以及新的特性的追加。

稳定版本号主要是一些关键性BUG的修改。

相关推荐