《Linux内核设计与实现》读书笔记,本篇简单介绍内核相关的基本概念。
Linux内核设计与实现 第二版下载地址: http://www.linuxidc.com/Linux/2011-05/35530.htmLinux内核设计与实现(原书第3版) 清晰中文PDF http://www.linuxidc.com/Linux/2014-02/96174.htm
主要内容:1. 单内核和微内核
| | 原理 | 优势 | 劣势 |
| 单内核 | 整个内核都在一个大内核地址空间上运行。 | 1. 简单。 2. 高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销。 | 一个功能的崩溃会导致整个内核无法使用。 |
| 微内核 | 内核按功能被划分成各个独立的过程。每个过程独立的运行在自己的地址空间上。 | 1. 安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务。 | 内核各个服务之间的调用涉及进程间的通信,比较复杂且效率低。 |
Linux的内核虽然是基于单内核的,但是经过这么多年的发展,也具备微内核的一些特征。(体现了Linux实用至上的原则)主要有以下特征:
- 支持动态加载内核模块
- 支持对称多处理(SMP)
- 内核可以抢占(preemptive),允许内核运行的任务有优先执行的能力
- 不区分线程和进程
2. 内核版本号
内核的版本号主要有四个数组组成。比如版本号:2.6.26.1 其中,2 - 主版本号6 - 从版本号或副版本号26 - 修订版本号1 - 稳定版本号副版本号表示这个版本是稳定版(
偶数)还是开发版(
奇数),上面例子中的版本号是稳定版。稳定的版本可用于企业级环境。修订版本号的升级包括BUG修正,新的驱动以及新的特性的追加。稳定版本号主要是一些关键性BUG的修改。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2016-12/138232p2.htm