《内核设计与实现》读书笔记(一)- 内核简介
本篇简单介绍内核相关的基本概念。
主要内容:
- 操作系统和内核简介
- 单内核和微内核
- 内核版本号
- Linux内核开发社区
1.操作系统和内核简介
操作系统是指整个系统中负责完成最基本功能和系统管理的那些部分。这些部分包括内核、设备驱动程序、启动引导程序、命令行Shell或其它种类的用户界面、基本的文件管理工具和系统工具。
内核是操作系统的内在核心,内核被称为管理者或操作系统核心。
内核的组成:由负责响应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等服务程序共同组成。
2.单内核和微内核
原理 | 优势 | 劣势 | |
单内核 | 整个内核都在一个大内核地址空间上运行 |
1.简单 2.高效:所有内核都在一个大的地址空间上, 所以内核各个功能之间的调用和调用函数类似 几乎没有性能开销 |
一个功能的崩溃会导致内核无法 使用 |
微内核 |
内核按功能被划分成各个独立的过程。每 个过程独立的运行在自己的地址空间上 |
安全:内核的各种服务独立运行,一种服务挂 了不会影响其他服务 |
内核各个服务之间的调用设计进 程间的同学,比较复杂且效率低 |
Linux内核虽然是基于单内核设计的,但它汲取了微内核的精华:模块化设计、抢占式内核、支持内核线程以及动态装载内核模块功能。(体现了Linux实用至上的原则)
Linux内核与传统Unix之间存在以下主要差异:
- 支持动态加载内核模块
- 支持对称多处理(SMP)
- 内核可以抢占(preemptive),允许内核运行的任务有优先执行的能力
- 不区分线程和进程
3.内核版本号
Linux内核有两种:稳定的和处于开发中的。
内核的版本号主要有四个数组成。比如版本号:2.6.26.1 其中,
2 - 主版本号
6 - 从版本号或副版本号
26 - 修订版本号
1 - 稳定版本号
副版本号反映内核是一个稳定版(偶数)还是一个开发版(奇数)
稳定的版本可用于企业级环境。
修订版本号的升级包括BUG修正,新的驱动以及新的特性的追加。
稳定版本号主要是一些关键性BUG的修改。
4.Linux内核开发者社区
社区中最重要的论坛是linux kernel mailing list(常缩写为lkml),可以在http://vger.kernel.org上订阅邮件